Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Trzymanie danych w sesji przed wykonaniem
Deusx
post 2.04.2010, 11:03:23
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 2
Dołączył: 27.08.2006

Ostrzeżenie: (0%)
-----


Witam, mam pewien problem,

  1. if($user['rpg_points'] < 10) {
  2.  
  3. message('Musisz mieć 10 punktow, aby zatrudnić oficera.
  4. <br>
  5. <a href=oficerowie.php>Wróć</a>','System');
  6. }
  7.  
  8. $geolog = "UPDATE {{table}} SET ";
  9. $geolog .= "`rpg_points` = `rpg_points` - '10', ";
  10. $geolog .= "`rpg_geologue` = `rpg_geologue` + '1' ";
  11. $geolog .= "WHERE ";
  12. $geolog .= "`id` = '". $user['id']."' ";
  13. doquery( $geolog , "users");
  14. message('Zatrudniłeś geologa.<br><a href=oficerowie.php>Wróć</a>','System');
  15. die();


I przy monotonnym klikaniu (nieustannym, aż się przeładuje), zapytanie wykona się dwa razy, choć mamy punktów na 1 raz.
Gdzieś mi ktoś napisał, że php wykonuje się szybciej niż zapytanie, dlatego się tak dzieje.
Dostałem też od kogoś rozwiązanie, jednak nie wiem jak to ma wyglądać w powyższym kodzie - trzymanie danych w sesji przed wykonaniem.

Dlatego był prosił o przykład na podstawie powyższego kodu.
Go to the top of the page
+Quote Post
wookieb
post 2.04.2010, 11:22:49
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Można zablokować dwukrotne wysłanie formularza. Druga sprawa to użycie transakcji w bazie danych.


--------------------
Go to the top of the page
+Quote Post
Deusx
post 2.04.2010, 15:14:54
Post #3





Grupa: Zarejestrowani
Postów: 126
Pomógł: 2
Dołączył: 27.08.2006

Ostrzeżenie: (0%)
-----


W jaki sposób zablokować dwukrotne wysłanie formularza ? (bez tokena)

Możesz napisać coś więcej na temat transakcji ?

Ten post edytował Deusx 2.04.2010, 16:08:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:36