Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]if to za mało ?
Forum PHP.pl > Forum > Przedszkole
Deusx
Witam, mam pytanie, od niedawna zauważyłem, że użytkownicy mojego serwisu mają wartości na minus, choć jest IF
  1. if($user['punkty'] <= 0) {
  2. die();
  3. }

Czy takie zabezpieczenie to jest za mało ? Czy przeciążenie serwera może mieć wpływ na działanie tego ?
DiH
Przeciążenie nie, raczej błąd ludzki. Jakiś kod dodatkowy?
jareeny
Pokaż kod, serwis, obojętnie co, byleby dało radę zrozumieć o co Ci w ogóle chodzi winksmiley.jpg
Deusx
Kawałek, kodu który "działa":


  1. if($_GET['mode'] == 'polap') {
  2.  
  3. if($planetrow['pola_licz'] >= 50) {
  4. message('Wykorzystales limit 50 pakietow.','Sklep');
  5. die();
  6. }
  7. if($planetrow['planet_type'] == 3) {
  8. message('Opcja dostępna tylko na planecie.','Sklep');
  9. die();
  10. }
  11.  
  12. if($user['dodatki'] < 2) {
  13. message('Nie posiadasz wystarczająco punktów!','Sklep'); // to nie podziałało*
  14. die();
  15. }
  16. $pros = "UPDATE {{table}} SET ";
  17. $pros .= "`dodatki` = `dodatki` - '2' ";
  18. $pros .= "WHERE ";
  19. $pros .= "`id` = '". $user['id']."' ";
  20. doquery( $pros, "users");
  21.  
  22. $QryUpdatePlanet = "UPDATE {{table}} SET ";
  23. $QryUpdatePlanet .= "`field_max` = `field_max` + '5',";
  24. $QryUpdatePlanet .= "`pola_licz` = `pola_licz` + '1'";
  25. $QryUpdatePlanet .= "WHERE ";
  26. $QryUpdatePlanet .= "`id` = '". $user['current_planet'] ."' ";
  27. doquery( $QryUpdatePlanet, "planets");
  28.  
  29. message('Powiększyłeś planetę o pięc pól.','Sklep');
  30. }


Jak serwer troszkę przymula (jest sporo ludzi), to jak będę klikał non stop zanim się odświeży (3 sek) to czasami "dodatki" wejdą na minus, choć "niby" nie mają prawa. Praktycznie z każdym "IF'em" występuje taki problem, w całym serwisie.

Czemu?
trucksweb
i tak sie bedzie zawsze dzialo, zauwaz ze zapytania do bazy wykonuja sie wolniej niz ty odswiezasz strone.
Przechowuj w sesji infomacje co ma odejmowac.


czy co tam chcesz z nimi zrobic snitch.gif
Deusx
Mogę prosić o jakiś przykład ? Z sesjami nie miałem nigdy do czynienia (jeden przykład by mi wystarczył do przerobienia całego serwisu).
DiH
Pierwszy wynik z Google dla "używanie sesji"
http://php-manual.skryptoteka.pl/ref.session.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.