Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]if to za mało ?
Deusx
post 21.02.2010, 23:14:45
Post #1





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

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


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 ?

Ten post edytował Cysiaczek 22.02.2010, 09:08:20
Powód edycji: [Cysiaczek]: nie musisz krzyczeć w temacie
Go to the top of the page
+Quote Post
DiH
post 21.02.2010, 23:45:37
Post #2





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


Przeciążenie nie, raczej błąd ludzki. Jakiś kod dodatkowy?
Go to the top of the page
+Quote Post
jareeny
post 21.02.2010, 23:48:49
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 23
Dołączył: 2.10.2007
Skąd: Słupsk

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


Pokaż kod, serwis, obojętnie co, byleby dało radę zrozumieć o co Ci w ogóle chodzi winksmiley.jpg


--------------------
banan wszyscy.
Go to the top of the page
+Quote Post
Deusx
post 22.02.2010, 16:14:39
Post #4





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

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


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?

Ten post edytował Deusx 22.02.2010, 16:16:13
Go to the top of the page
+Quote Post
trucksweb
post 22.02.2010, 16:25:42
Post #5





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


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


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
Deusx
post 22.02.2010, 20:46:42
Post #6





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

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


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).
Go to the top of the page
+Quote Post
DiH
post 22.02.2010, 23:07:12
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 34
Dołączył: 7.01.2010

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


Pierwszy wynik z Google dla "używanie sesji"
http://php-manual.skryptoteka.pl/ref.session.html
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: 13.07.2025 - 00:25