Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][HTML][PHP]Nie wykonuje zapytań
Forum PHP.pl > Forum > Przedszkole
dexi
Witam. Poniższy skrypt, pomimo odpowiednich ustawień i danych w bazie, nie pobiera odpowiednich danych co uniemożliwia jego działanie.
Sam już nie wiem gdzie leży błąd, z góry dzięki za pomoc

  1. <?php
  2. if(!isset($_SESSION["user_name"]) || strlen($_SESSION["user_name"])<1){
  3. echo '<script>alert("Nie jestes zalogowany");location.href="../index.php";</script>';
  4. }
  5. ?>
  6. <div id="content"> <div class="postui2 text-title">
  7. <h2>
  8. Preisliste
  9.  
  10. </h2>
  11.  
  12. </div>
  13. <div class="postui2 text-con">
  14. <div class="con-wrap">
  15. <div id="fuibar">
  16. <div class="fuibarui fui-title">
  17. <p>Preisliste</p>
  18. </div>
  19. <div class="fuibarui fui-con">
  20. <div class="fui-wrap">
  21. <table width="168" border="0" align="center">
  22. <tr>
  23. <td width="84" class="topLine">10 Euro -></td>
  24. <td width="74" class="tdunkel"> 100 Coins</td>
  25. </tr>
  26. <tr>
  27. <td class="topLine">25 Euro -></td>
  28. <td class="tdunkel">250 Coins</td>
  29. </tr>
  30. <tr>
  31. <td class="topLine">50 Euro -></td>
  32. <td class="tdunkel">550 Coins</td>
  33. </tr>
  34. </table>
  35. </div>
  36. </div>
  37. <div class="fuibarui fui-end">
  38. </div></div>
  39. <div id="fuibar">
  40. <div class="fuibarui fui-title">
  41. <p>Coins Beantragen</p>
  42. </div>
  43. <div class="fuibarui fui-con">
  44. <div class="fui-wrap">
  45. <form action="index.php?s=spenden" method="POST">
  46. <input type="hidden" name='validate' value='validate' />
  47. <table>
  48. <tr>
  49. <td class=txt_gray width="184" height="32"><div align=left>Login:</div></td>
  50. <td class=txt_gray width="218" height="32"><input maxlength=20 name=user_name size=17 value="<?=$_SESSION["user_name"]?>" readonly="">
  51. </tr>
  52. <tr>
  53. <td>Kod doladowania:</th>
  54. <td>
  55. <input maxlength=30 name='no' size=30 type="text" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" class="txt"></td>
  56. </tr>
  57. <tr>
  58. <td class="tdunkel" colspan="2" style="text-align:center;"><input type="submit" name="Wyślij" value="Doładuj" class="btn"/> - <input type="reset" class="btn"/></td>
  59. </tr>
  60. </table>
  61. </form>
  62. <?php
  63. $action=$_POST["validate"];
  64. $no=$_POST["no"];
  65. if ($action=="validate"){
  66. if ($no!=""){
  67. mysql_select_db("player");
  68. $exec="select `id`, `no`, `cash`,`lock` FROM 'card' WHERE no='$no'";
  69. $result=mysql_query($exec);
  70. $rs=mysql_fetch_object($result);
  71. if($rs){
  72. if($rs->lock==0){
  73. $_SESSION["cash"]=$_SESSION["cash"]+$rs->cash;
  74. $exec="update card set `lock`=1 where id=$rs->id";
  75. mysql_query($exec);
  76. mysql_select_db("account");
  77. $exec="update account set coins=".$_SESSION["cash"]." where login='".$_SESSION["user_name"]."'";
  78. mysql_query($exec);
  79. echo"<script>alert('Kamienie zostaly doladowane na twoje konto !');location.href='../index.php';</script>";
  80. }else{
  81. echo "<script>alert('Ten Kod zostal juz wykorzystany !');history.back();</script>";
  82. }
  83. }else{
  84. echo "<script>alert('Kod jest niepoprawny!');history.back();</script>";
  85. }
  86. }else{
  87. echo "<script>alert('Takie ID doladowania nie istnieje !');history.back();</script>";
  88. }
  89. }
  90. ?>
  91. </div>
  92. </div>
  93. <div class="fuibarui fui-end">
  94. </div></div>
  95.  
  96. </div>
  97.  
  98. </div>
  99. <div class="postui2 text-end">
  100.  
  101.  
  102.  
  103. </div></div>


Notki indeksów:

Kod
Notice: Undefined index: validate in /usr/local/www/apache22/data/pages/spenden.php on line 64

Notice: Undefined index: no in /usr/local/www/apache22/data/pages/spenden.php on line 65


One chyba nie są zbyt groźne
vonski
Ten komunikat oznacza, że zmienne $_POST['validate'] i $_POST['no'] nie istnieją, a na nich opiera się if() decydujący czy pobrać dane z bazy czy nie. Daj sobie gdzieś na początku print_r($_POST); wyślij formularz i zobacz co siedzi w $_POST.
Inna ciekawa sprawa to fakt, że formularz leci do index.php a Tobie ten komunikat pojawia się w pliku spenden.php smile.gif
toffiak
Cytat
One chyba nie są zbyt groźne


Nie skąd smile.gif

Po prostu zmienna $action jest pusta (null), potem sprawdzany jest warunek, czy null jest true, nie jest więc cały twój kod jest pomijany.

Te ostrzeżenia są bardzo ważne i mówią Ci że nie przesłano metodą POST niczego dla indeksu "validate".
dexi
Wynik nie podał żadnej wartości, tyle że te zmienne $_POST['validate'] i $_POST['no'] powinny odnosić się do formularza, sam już nie wiem...
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.