Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php] $_POST
Lethys
post 17.10.2006, 15:03:31
Post #1





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Mam problem , pisze gre i chce zrobc skrypt karmienia

Tutaj kod karmienie.php


  1. <?php include("config.php"); ?>
  2. <?php
  3. $stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
  4. ?>
  5. <form method=post action=karmienie.php?action=karmienie>
  6. <center><br><br>Czym chcesz karmic ?<br><input type="radio" name=karmienie><option value=sila>Wodorosla ze Smoczej Przeleczy ( dodaje sily )</option><br><input type="radio" name=karmienie><option value=zrecznosc>Jajecznica z gryfinich jaj ( dodaje zrecznosc )</option></select><br><br> 
  7. <input type=submit value=Nakarm>
  8. </form>
  9.  
  10. <?php
  11. if($_POST['karmienie'] == karmienie) {
  12.  
  13.  
  14. if ($stat['glod'] < 1) {
  15. print "<br><br>Twoja Kreatura nie jest glodna !";
  16. }
  17. mysql_query("update players set glod=0 where id=$stat[id]");
  18. mysql_query("update players set $karmienie=$karmienie+1 where id=$stat[id]");
  19. print "<br><br>Twoja kreatura zyskala <b> 1 pkt</b> wybranej umiejetnosci.";
  20.  
  21. }
  22. ?>



Chodzi mi o to ze co reset glod ustawiany jest na 1 i kiedy sie karmi odejmujemy glod=glod-1 , czyli bedzie mozna karmic raz dziennie . Wydaje mi sie ze nie ma bledu w kodzie a mimo wszytsko nie dziala sad.gif


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
gszesiek
post 17.10.2006, 15:40:07
Post #2





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 17.09.2006

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


pokaż błąd


--------------------
Go to the top of the page
+Quote Post
revyag
post 17.10.2006, 15:50:35
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Co to za temat topicu ? Proszę poprawić albo zamknę.

  1. <?php
  2. if($_POST['karmienie'] == karmienie)
  3. ?>

Co to jest ? Skad ta zmienna post, co to jest karmienie questionmark.gif Zmienna, stała ?


--------------------
-------------

------
Go to the top of the page
+Quote Post
erix
post 17.10.2006, 15:57:04
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




@revyag:
Cytat
Skad ta zmienna post

Cytat
  1. <form method=post action=karmienie.php?action=karmienie>
  2. <center><br><br>Czym chcesz karmic ?<br><input type="radio" name=karmienie><option value=sila>Wodorosla ze Smoczej Przeleczy ( dodaje sily )</option><br><input type="radio" name=karmienie><option value=zrecznosc>Jajecznica z gryfinich jaj ( dodaje zrecznosc )</option></select><br><br>
  3. <input type=submit value=Nakarm>
  4. </form>


@[Lethys]:
http://pl.php.net/manual/pl/language.types.string.php


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Lethys
post 17.10.2006, 15:58:50
Post #5





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Bledu nie ma poprostu nic sie nie dzieje a co do nazwy tematu to nie wiem jak nazwac moze cos zaproponuj ...


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
fx69
post 17.10.2006, 16:02:19
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 8.10.2006
Skąd: świat astralny

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


sprobuj:
  1. <?php
  2. if(isset($_POST['karmienie'])) {
  3. $karmienie = $_POST['karmienie'];
  4. ...
  5. ?>


Ten post edytował fx69 17.10.2006, 16:03:06
Go to the top of the page
+Quote Post
Lethys
post 17.10.2006, 16:12:08
Post #7





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Dziwne bo teraz wyskakuje "ze kreatura nie jest glodna"

A przeciez warunek jest = ($stat['glod'] < 1)

Specjalnie sprawdzalem jeszcze raz w bazie i jest rowny 1 sad.gif


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
gszesiek
post 17.10.2006, 16:17:18
Post #8





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 17.09.2006

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


napisz sobie przed if'em smile.gif echo $stat['glod']; i będziesz wiedział co masz


--------------------
Go to the top of the page
+Quote Post
erix
post 17.10.2006, 16:19:10
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
<?php
$stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
?>


Co wywala mysql_error" title="Zobacz w manualu php" target="_manual?
Sprawdź jeszcze co znajduje się w $stat.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Lethys
post 17.10.2006, 16:27:17
Post #10





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Nie ma zadnego bledu a co do $stats to napewno dobrze bo w innych funkcjach dziala dobrze ..

A moze jest inny sposob na to co chce stworzyc.Chodzi mi o to zeby wybieralo sie jedna z 2 opcji ( sila lub zrecznosci ) i przy wykonywaniu akcji odejmowala $glod=$glod - 1 . No i zeby zabespieczyc jak $glod=0 to nie mozna nakarmic .

Tym razem zrobilem prosty kod karmienia

  1. <?php
  2.  
  3. include("config.php");
  4. $stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
  5.  
  6. if ($stat['glod'] == 0) {
  7. print "<br><br>Twoja Kreatura nie jest glodna !";
  8.  
  9. }
  10.  
  11. if ($stat['glod'] == 1) {
  12.  
  13.  
  14.  
  15. mysql_query("update players set glod=0 where id=$stat[id]");
  16. mysql_query("update players set $stat[zrecznosc]=$stat[zrecznosc]+1 where id=$stat[id]");
  17. mysql_query("update players set $stat[nastroj]=$stat[nastroj]+1 where id=$stat[id]");
  18. print "<br><br>Twoj chowaniec zyskal jeden punkt zrecznosci!";
  19.  
  20. }
  21.  
  22.  
  23. ?>


I wyskakuje ten sam blad czyli ze chowaniec nie jest glodny a glod w bazie jest rowny 1 sad.gif Juz naprawde nie wiem co jest grane ...

Ten post edytował [Lethys] 17.10.2006, 17:04:03


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
erix
post 17.10.2006, 17:40:53
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
No i zeby zabespieczyc jak $glod=0 to

bez komentarza

Cytat
  1. <?php
  2. mysql_query("update players set glod=0 where id=$stat[id]");
  3. mysql_query("update players set $stat[zrecznosc]=$stat[zrecznosc]+1 where id=$stat[id]");
  4. mysql_query("update players set $stat[nastroj]=$stat[nastroj]+1 where id=$stat[id]");
  5. ?>


Zamiast nazw pól po SET podajesz wartość=wartość...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Lethys
post 17.10.2006, 18:46:23
Post #12





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


To nie ma znaczenia

Btw . zmienilem dla sprawdzenia i ten sam blad ...


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
D4rky
post 17.10.2006, 19:34:11
Post #13





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 10.03.2005

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


Wy wszyscy pieprzycie PIERDOŁY, a błąd widać na kilometr
Na początek
  1. <?php
  2. $stat = mysql_fetch_array(mysql_query("select * from players where email='$email' and pass='$pass'"));
  3. ?>

Już tutaj masz 2 błedy w samym stylu pisania, i opieprzę cię tak dla pewności tongue.gif Jeśli uzywasz $stat['nazwa'], to stosuj fetch_assoc nie array. Poaz tym '".$email."' jak już winksmiley.jpg

Dalej:
  1. <?php
  2. if($_POST['karmienie'] == karmienie) {
  3. ?>

Powinno ci wywalić undefined const karmienie. Nie dałeś "", więc php łapie karmienie jako stałą (define i te sprawy).

No i jeszcze
  1. <?php
  2. mysql_query("update players set glod=0 where id=$stat[id]");
  3. mysql_query("update players set $karmienie=$karmienie+1 where id=$stat[id]");
  4. ?>

Po pierwsze jak już mówiłem "'.$stat['id']."' (tutaj dodatkowo zgubiłeś ' ' w $stat), a drugi błąd polega na tym, że chcesz zmienić zmienna SQLa czyli karmienie, a łapiesz tam zmienną PHPową czyli $karmienie, której nigdzie tu nie widzę. Wywal $ w obu karmieniach i będize ok.

No i na drugi raz przyjdź najpierw do mnie, bo widzisz, że tu nikt pomóc nie chce dry.gif
Go to the top of the page
+Quote Post
jarrod
post 17.10.2006, 20:04:44
Post #14





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Dodam od siebie że bez sensu jest robić kilka zapytań tego samego tympu do tej samej bazy...
  1. <?php
  2. $sql = "update players set glod=0,karmienie=karmienie+1,zrecznosc=zrecznosc+1 where id={$stat[id]}";
  3. ?>

Wówczas zamiast 3 zapytań masz tylko 1. OPTYMALIZACJA!

Cytat(D4rky @ 17.10.2006, 20:34:11 ) *
Jeśli uzywasz $stat['nazwa'], to stosuj fetch_assoc nie array.

Tu się zgodzę
Cytat(D4rky @ 17.10.2006, 20:34:11 ) *
Poaz tym '".$email."' jak już winksmiley.jpg

Nie widzę takiej potrzeby. Jest to kwestia użytych cudzysłowów. Jeżeli masz --> " <-- to parser sprawdza co jest wewnątrz i jeżeli jest to jakaś zmienna to próbuje ją przetworzyć. Zatem w tym zapytaniu nie ma blędu jeśli chodzi o zmienne. Jeżeli byłby to --> ' <-- to wówczas parser to pomija i w zapytaniu do bazy poszło by dokałdnie email='$email'. Dla pewności (w nawiasach podwójnych) można zmienną "opakować" w klamry co powie parserowi że jest ro zmienna do parsowania.

Ten post edytował jarrod 17.10.2006, 20:05:56
Go to the top of the page
+Quote Post
Lethys
post 18.10.2006, 17:06:36
Post #15





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Niby wszystko poprawione a jak wlaczam to nic sie nie dzieje ( klikam na karmienie i nic sad.gif )


Poprawiony kod

  1. <?php include("config.php"); ?>
  2. <?php
  3. $stat = mysql_fetch_assoc(mysql_query("select * from players where email='".$email."' and pass='".$pass."'"));
  4. ?>
  5. <form method="post" action="karmienie.php?action=karmienie">
  6. <center><br><br>Czym chcesz karmic ?<br><input type="radio" name=karmienie><option value=sila>Wodorosla ze Smoczej Przeleczy ( dodaje sily )</option><br><input type="radio" name=karmienie><option value=zrecznosc>Jajecznica z gryfinich jaj ( dodaje zrecznosc )</option></select><br><br> 
  7. <input type=submit value=Nakarm>
  8. </form>
  9.  
  10. <?php
  11. if($_POST['karmienie'] == "karmienie") {
  12.  
  13.  
  14. if ($stat['glod'] < 1) {
  15. print "<br><br>Twoja Kreatura nie jest glodna !";
  16. }
  17. mysql_query("update players set glod=0 where id='".(int)$stat[id]."'");
  18. mysql_query("update players set karmienie=karmienie+1 where id='".(int)$stat[id]."'");
  19. print "<br><br>Twoja kreatura zyskala <b> 1 pkt</b> wybranej umiejetnosci.";
  20.  
  21. }
  22. ?>


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
jarrod
post 18.10.2006, 18:34:28
Post #16





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


hmmm....
wydawało mi się że pole typu radio trochę inaczej wygląda....

  1. <form method="post" action="karmienie.php?action=karmienie">
  2. <br/><br/><center>Czym chcesz karmic ?</center><br/>
  3. <input type="radio" name="karmienie" value="sila" id="sila"/><label for="sila">Wodorosla ze Smoczej Przeleczy ( dodaje sily )</label><br/>
  4. <input type="radio" name="karmienie" value="zrecznosc" id="zrecznosc"/><label for="zrecznosc">Jajecznica z gryfinich jaj ( dodaje zrecznosc )</label>
  5. <br/><br/> <input type="submit" value="Nakarm"/></form>


Tamten formularz ZUPEŁNIE NIC NIE PRZENOSIŁ. Bo niby jak?

a całość:

  1. <?php
  2. include("config.php"); 
  3. $stat = mysql_fetch_assoc(mysql_query("select * from players where email='".$email."' and pass='".$pass."'"));
  4. ?>
  5. <form method="post" action="karmienie.php?action=karmienie">
  6. <br/><br/><center>Czym chcesz karmic ?</center><br/>
  7. <input type="radio" name="karmienie" value="sila" id="sila"/><label for="sila">Wodorosla ze Smoczej Przeleczy ( dodaje sily )</label><br/>
  8. <input type="radio" name="karmienie" value="zrecznosc" id="zrecznosc"/><label for="zrecznosc">Jajecznica z gryfinich jaj ( dodaje zrecznosc )</label>
  9. <br/><br/> <input type="submit" value="Nakarm"/></form>
  10.  
  11. <?php
  12. if($_GET['action'] == "karmienie") 
  13. {
  14.  if ($stat['glod'] < 1) 
  15.  {
  16.  print "<br><br>Twoja Kreatura nie jest glodna !";
  17.  exit();
  18.  }
  19.  mysql_query("update players set glod=0 where id='".(int)$stat[id]."'");
  20.  mysql_query("update players set karmienie=karmienie+1 where id='".(int)$stat[id]."'");
  21.  print "<br><br>Twoja kreatura zyskala <b> 1 pkt</b> wybranej umiejetnosci.";
  22. }

Tyle że wpowyższym if-ie nie ma igdzie powiedziane czym ją karmisz...
To czym jest karmiona jest przechowywane w zmiennej:
  1. <?php
  2. $_POST['karmienie'];
  3. ?>


Ten post edytował jarrod 18.10.2006, 18:43:05
Go to the top of the page
+Quote Post
Lethys
post 18.10.2006, 19:11:37
Post #17





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


No i teraz pisze ze nie jest glodna a wdl warunku jest sad.gif Nie wiem czy kiedys to zrobie .....


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
jarrod
post 18.10.2006, 19:29:57
Post #18





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Zrób tak:
  1. <?php
  2. include("config.php"); 
  3. $stat = mysql_fetch_assoc(mysql_query("select * from players where email='".$email."' and pass='".$pass."'"));
  4.  
  5. var_dump($stat);
  6. var_dump($_POST);
  7. ?>


i przeklej to tutaj.
Go to the top of the page
+Quote Post
Lethys
post 18.10.2006, 19:57:06
Post #19





Grupa: Zarejestrowani
Postów: 642
Pomógł: 2
Dołączył: 9.03.2006

Ostrzeżenie: (30%)
XX---


Wyskakuje

bool(false) array(1) { ["karmienie"]=> string(4) "sila" } ?>" title="Zobacz w manualu php" target="_manual


--------------------
filmy podobne do - wyszukiwarka podobnych filmów
motywacja do działania - Bądź Lepszy
Go to the top of the page
+Quote Post
jarrod
post 18.10.2006, 20:19:01
Post #20





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Cytat


I nic ci to nie mówi??

To zrób jeszcze tak:

  1. <?php
  2. $sql = "select * from players where email='".$email."' and pass='".$pass."'";
  3. $res = mysql_query($sql);
  4.  
  5. echo '<br/>'.$sql;
  6. ?>

i też przekopiuj tutaj.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 18.07.2025 - 02:04