Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]etap stron
Forum PHP.pl > Forum > Przedszkole
Ruch Radzionków
witam ponownie mam taki kod :

  1. if($_POST[rodzaj] <> '')
  2. {
  3. if($_POST[rodzaj] == '1')
  4. {
  5. if($_POST[dalej] <> '')
  6. {
  7. if($_POST[gra] <> '')
  8. {
  9. echo'powinno wyswietlic';
  10. }
  11. else
  12. {
  13. echo'<form action="" method="post">
  14. <table>
  15. <input type="hidden" value="$_POST[rodzaj]" name="rodzaj">
  16. <input type="hidden" value="$_POST[lokal]" name="lokal">
  17. <tr>
  18. <td>Gra</td>
  19. <td><select name="gra">';
  20. $graq = mysql_query("SELECT * FROM cennik WHERE idmaszyny='$_POST[lokal]'");
  21. while($gra = mysql_fetch_array($graq))
  22. {
  23. $gra = mysql_fetch_array(mysql_query("SELECT * FROM gry WHERE id='$gra[idgry]'"));
  24. echo'<option value="'.$gra[id].'">'.$gra[nazwa].'</option>';
  25. }
  26. echo'</select></td>
  27. </tr>
  28. <tr>
  29. <td colspan="2"><input type="submit" name="wdal" value="Dalej"></td>
  30. </tr>
  31. </table>
  32. </form>';
  33. }
  34. }
  35. else
  36. {
  37. $rodzaj = $_POST[rodzaj];
  38. echo'<form action="" method="post">
  39. <table>
  40. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  41. <tr>
  42. <td>Lokalizacja</td>
  43. <td>
  44. <select name="lokal">';
  45. $lok = mysql_query("SELECT * FROM maszyna");
  46. while($lokal = mysql_fetch_array($lok))
  47. {
  48. echo'<option value="'.$lokal[id].'">'.$lokal[nazwa].'</option>';
  49. }
  50. echo'</select>
  51. </td>
  52. <td>
  53. </td>
  54. </tr>
  55. <tr>
  56. <td colspan="2"><input type="submit" name="dalej" value="Dalej"></td>
  57. </tr>
  58. </table>
  59. </form>';
  60. }
  61. }
  62. if($_POST[rodzaj] == '2')
  63. {
  64. echo'ok2';
  65. }
  66. if($_POST[rodzaj] == '3')
  67. {
  68. echo'ok3';
  69. }
  70. }
  71. else
  72. {
  73. echo'<form action="" method="post">
  74. <table>
  75. <tr>
  76. <td>Rodzaj</td>
  77. <td><select name="rodzaj">';
  78. $upload1 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='4'"));
  79. if($upload1[nazwa] == '1')
  80. {
  81. echo'<option value="1">Serwer Gier</option>';
  82. }
  83. $upload2 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='5'"));
  84. if($upload2[nazwa] == '1')
  85. {
  86. echo'<option value="2">Fast Download</option>';
  87. }
  88. $upload3 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='6'"));
  89. if($upload3[nazwa] == '1')
  90. {
  91. echo'<option value="3">Serwer Głosowy</option>';
  92. }
  93. echo'</select></td>
  94. </tr>
  95. <tr>
  96. <td colspan="2"><input type="hidden" value="1" name="form"><input type="submit" name="submit" value="Dalej"></td>
  97. </tr>
  98. </table>
  99. </form>';
  100. }


i mam etapy zakupu pewnej żeczy i mam taki problem z
  1. if($_POST[gra] <> '')
  2. {
  3. echo'powinno wyswietlic';
  4. }


nie chce mi wyświetlic następnej strony gdzie pisze powinno wyswietlic jest pusta strona. co mam źle że mi nie wyświetla?
Z góry dzięki za pomoc
piotr.kazmierczak
Wklej wynik odpalenia:

  1. var_dump($_POST);


Bo tak to nie wiadomo o co chodzi smile.gif
piotr.kazmierczak
Na pierwszy rzut oka masz coś źle z ustawianiem wartości "rodzaj" bo w var_dumpie masz wartość 14 a w kodzie ify na wartości 1, 2 i 3.

By sprawdzić czy tak jest, zamienień te ify na switcha z wartościa default.
Ruch Radzionków
dałem coś takiego
  1. switch ($_POST[gra] == 'default')
  2. {
  3.  
  4. }

i pokazuje mi

array(4) { ["rodzaj"]=> string(14) "$_POST[rodzaj]" ["lokal"]=> string(13) "$_POST[lokal]" ["gra"]=> string(1) "1" ["wdal"]=> string(5) "Dalej" }

wie ktos jak to zrobic
gorden
chodziło mu raczej o coś ~~:

  1. switch($_POST[gra]) {
  2. case 'costam': echo 'x'; break;
  3. //........
  4. default: echo 'default';
  5. }


a switch != if
Ruch Radzionków
przy wyboze gry pokazuje default
mortus
Cytat(piotr.kazmierczak @ 29.10.2011, 09:47:47 ) *
Na pierwszy rzut oka masz coś źle z ustawianiem wartości "rodzaj" bo w var_dumpie masz wartość 14 a w kodzie ify na wartości 1, 2 i 3.

By sprawdzić czy tak jest, zamienień te ify na switcha z wartościa default.

Wprowadzasz wszystkich w błąd. var_dump() pokazuje, że:
  1. $_POST['rodzaj'] = "$_POST[rodzaj]"; // 14-sto znakowy string
  2. $_POST['lokal'] = "$_POST[lokal]"; // 13-sto znakowy string
  3. $_POST['gra'] = "1"; // 1-dno znakowy string
  4. $_POST['wdal'] = "Dalej"; // 5-cio znakowy sting

Oznacza to, że przesyłasz nieprawidłowe wartości.
Błąd tkwi w liniach 15 i 16. Masz:
  1. ..
  2. <input type="hidden" value="$_POST[rodzaj]" name="rodzaj">
  3. <input type="hidden" value="$_POST[lokal]" name="lokal">

a powinno być:
  1. ...
  2. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  3. <input type="hidden" value="'.$_POST[lokal].'" name="lokal">

To kwestia łączenia zmiennych z łańcuchami znaków.

Radzę doczytać.
Skoro piszesz w taki sposób, to może wygodniej będzie skorzystać z takiej możliwości.
Ruch Radzionków
Cytat(mortus @ 30.10.2011, 14:03:07 ) *
  1. ...
  2. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  3. <input type="hidden" value="'.$_POST[lokal].'" name="lokal">

takie cos już prubowałem i gdy dam takie cos to cofie mi się do wyboru lokalizacji
mortus
Jeden z błędów tkwi ewidentnie we wskazanym miejscu. Popraw tak, jak Ci pisałem i sprawdź za pomocą var_dump zawartość $_POST, jak już ktoś pisał. Wtedy będzie nam łatwiej określić, w którym miejscu jest kolejny błąd.

No tak, już wiem o co chodzi. W linijce 5 sprawdzasz $_POST['dalej'], ale przecież w ostatnim formularzu nie masz pola o nazwie dalej, a pole o nazwie wdal. Źle dobrane warunki.
mortus
Czyli tak jak pisałem wcześniej. Zastąp linie 5 tym:
  1. if(isset($_POST['lokal']) && $_POST['lokal'] != '')
Ruch Radzionków
mam znowu taki sam błąd tylko teraz mam rozbudowany sktryp:
  1. if($_POST[rodzaj] <> '')
  2. {
  3. if($_POST[rodzaj] == '1')
  4. {
  5. if(isset($_POST['lokal']) && $_POST['lokal'] != '')
  6. {
  7. if($_POST[gra] <> '')
  8. {
  9. if($_POST[koniec] <> '')
  10. {
  11. if($_POST[wysylamy] <> '')
  12. {
  13. echo'zamowienie ok';
  14. }
  15. else
  16. {
  17. if($_POST[okres] == '1')
  18. {
  19. $okress = 'Miesiąc';
  20. }
  21. if($_POST[okres] == '2')
  22. {
  23. $okress = '2 Miesiące';
  24. }
  25. if($_POST[okres] == '3')
  26. {
  27. $okress = '3 Miesiące';
  28. }
  29. if($_POST[okres] == '6')
  30. {
  31. $okress = '6 Miesięcy';
  32. }
  33. if($_POST[okres] == '12')
  34. {
  35. $okress = '1 Rok';
  36. }
  37. $rodzser = mysql_fetch_array(mysql_query("SELECT * FROM cennik WHERE idgry='$_POST[gra]' AND idmaszyny='$_POST[lokal]'"));
  38. if($_POST[rodzser] == '1')
  39. {
  40. $typ = $rodzser[pry];
  41. }
  42. if($_POST[rodzser] == '2')
  43. {
  44. $typ = $rodzser[pub];
  45. }
  46. $cen = $_POST['slotow'] * $typ;
  47. $cena = $_POST[okres] * $cen;
  48. echo'<form action="" method="post">
  49. <table>
  50. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  51. <input type="hidden" value="'.$_POST[lokal].'" name="lokal">
  52. <input type="hidden" value="'.$_POST[gra].'" name="gra">
  53. <tr>
  54. <td>Lokalizacja</td>
  55. <td><b>'.$_POST[lokal].'</b></td>
  56. </tr>
  57. <tr>
  58. <td>Gra</td>
  59. <td><b>'.$_POST[gra].'</b></td>
  60. </tr>
  61. <tr>
  62. <td>Ilośc Slotów</td>
  63. <td><b>'.$_POST[slotow].'</b></td>
  64. </tr>
  65. <tr>
  66. <td>Port</td>
  67. <td><b>'.$_POST[port].'</b></td>
  68. </tr>
  69. <tr>
  70. <td>Okres</td>
  71. <td><b>'.$okress.'</b></td>
  72. </tr>
  73. <tr>
  74. <td>Cena</td>
  75. <td><a style="color:green">'.$cena.'</a> zł</td>
  76. </tr>
  77. <tr>
  78. <td colspan="2"><input type="submit" name="wysylamy" value="Zamów"></td>
  79. </tr>
  80. </table>
  81. </form>';
  82. }
  83. }
  84. else
  85. {
  86. echo'<form action="" method="post">
  87. <table>
  88. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  89. <input type="hidden" value="'.$_POST[lokal].'" name="lokal">
  90. <input type="hidden" value="'.$_POST[gra].'" name="gra">
  91. <tr>
  92. <td>Ilośc Slotów</td>
  93. <td><select name="slotow">';
  94. $slot = mysql_fetch_array(mysql_query("SELECT * FROM gry WHERE id='$_POST[gra]'"));
  95. $min = $slot['min'];
  96. $max = $slot['max'];
  97. for ($i=$min; $i<=$max; $i++) {
  98. echo'<option value="'.$i.'">'.$i.'</option>';
  99. }
  100. echo'</select>
  101. </td>
  102. </tr>
  103. <tr>
  104. <td>Rodzaj serwera</td>
  105. <td><select name="rodzser">
  106. <option value="1">Prywatny</option>
  107. <option value="2">Publiczny</option>
  108. </select></td>
  109. </tr>
  110. <tr>
  111. <td>Port</td>
  112. <td><select name="port">';
  113. $por = mysql_query("SELECT * FROM porty WHERE idmasz='$_POST[lokal]' AND idgry='$_POST[gra]' AND status='0'");
  114. while($port = mysql_fetch_array($por))
  115. {
  116. echo'<option value="'.$port[id].'">'.$port[port].'</option>';
  117. }
  118. echo'</select></td>
  119. </tr>
  120. <tr>
  121. <td>Okres</td>
  122. <td><select name="okres">
  123. <option value="1">Miesiąc</option>
  124. <option value="2">2 Miesiące</option>
  125. <option value="3">3 Miesiące</option>
  126. <option value="6">6 Miesięcy</option>
  127. <option value="12">1 Rok</option>
  128. </select></td>
  129. </tr>
  130. <tr>
  131. <td colspan="2"><input type="submit" name="koniec" value="Dalej"></td>
  132. </tr>
  133. </table>
  134. </form>';
  135. }
  136. }
  137. else
  138. {
  139. echo'<form action="" method="post">
  140. <table>
  141. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  142. <input type="hidden" value="'.$_POST[lokal].'" name="lokal">
  143. <tr>
  144. <td>Gra</td>
  145. <td><select name="gra">';
  146. $graq = mysql_query("SELECT * FROM cennik WHERE idmaszyny='$_POST[lokal]'");
  147. while($gra = mysql_fetch_array($graq))
  148. {
  149. $gra = mysql_fetch_array(mysql_query("SELECT * FROM gry WHERE id='$gra[idgry]'"));
  150. echo'<option value="'.$gra[id].'">'.$gra[nazwa].'</option>';
  151. }
  152. echo'</select></td>
  153. </tr>
  154. <tr>
  155. <td colspan="2"><input type="submit" name="wdal" value="Dalej"></td>
  156. </tr>
  157. </table>
  158. </form>';
  159. }
  160. }
  161. else
  162. {
  163. $rodzaj = $_POST[rodzaj];
  164. echo'<form action="" method="post">
  165. <table>
  166. <input type="hidden" value="'.$_POST[rodzaj].'" name="rodzaj">
  167. <tr>
  168. <td>Lokalizacja</td>
  169. <td>
  170. <select name="lokal">';
  171. $lok = mysql_query("SELECT * FROM maszyna");
  172. while($lokal = mysql_fetch_array($lok))
  173. {
  174. echo'<option value="'.$lokal[id].'">'.$lokal[nazwa].'</option>';
  175. }
  176. echo'</select>
  177. </td>
  178. <td>
  179. </td>
  180. </tr>
  181. <tr>
  182. <td colspan="2"><input type="submit" name="dalej" value="Dalej"></td>
  183. </tr>
  184. </table>
  185. </form>';
  186. }
  187. }
  188. if($_POST[rodzaj] == '2')
  189. {
  190. echo'ok2';
  191. }
  192. if($_POST[rodzaj] == '3')
  193. {
  194. echo'ok3';
  195. }
  196. }
  197. else
  198. {
  199. echo'<form action="" method="post">
  200. <table>
  201. <tr>
  202. <td>Rodzaj</td>
  203. <td><select name="rodzaj">';
  204. $upload1 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='4'"));
  205. if($upload1[nazwa] == '1')
  206. {
  207. echo'<option value="1">Serwer Gier</option>';
  208. }
  209. $upload2 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='5'"));
  210. if($upload2[nazwa] == '1')
  211. {
  212. echo'<option value="2">Fast Download</option>';
  213. }
  214. $upload3 = mysql_fetch_array(mysql_query("SELECT * FROM seting WHERE id='6'"));
  215. if($upload3[nazwa] == '1')
  216. {
  217. echo'<option value="3">Serwer Głosowy</option>';
  218. }
  219. echo'</select></td>
  220. </tr>
  221. <tr>
  222. <td colspan="2"><input type="hidden" value="1" name="form"><input type="submit" name="submit" value="Dalej"></td>
  223. </tr>
  224. </table>
  225. </form>';
  226. }


a tutaj co pokazuje var_dump :
1: array(0) { }
2: array(3) { ["rodzaj"]=> string(1) "1" ["form"]=> string(1) "1" ["submit"]=> string(5) "Dalej" }
3: array(3) { ["rodzaj"]=> string(1) "1" ["lokal"]=> string(1) "1" ["dalej"]=> string(5) "Dalej" }
4: array(4) { ["rodzaj"]=> string(1) "1" ["lokal"]=> string(1) "1" ["gra"]=> string(1) "1" ["wdal"]=> string(5) "Dalej" }
5: array(8) { ["rodzaj"]=> string(1) "1" ["lokal"]=> string(1) "1" ["gra"]=> string(1) "1" ["slotow"]=> string(1) "2" ["rodzser"]=> string(1) "1" ["port"]=> string(1) "1" ["okres"]=> string(1) "1" ["koniec"]=> string(5) "Dalej" }
i powrót do 4: array(4) { ["rodzaj"]=> string(1) "1" ["lokal"]=> string(1) "1" ["gra"]=> string(1) "1" ["wysylamy"]=> string(6) "Zamów" }

wie ktoś jak to naprawic

pomoże mi ktoś z tym questionmark.gif

wie ktos jak to zrobic

jak nikt nie odpisuje bo im sie czytac nie chce to co mam zrobic
wNogachSpisz
Cytat(Ruch Radzionków @ 4.11.2011, 15:40:21 ) *
  1. if($_POST[rodzaj] <> '')

Co to robi?
Ruch Radzionków
o co ci chodzi
wNogachSpisz
Cytat(Ruch Radzionków @ 4.11.2011, 16:35:22 ) *
o co ci chodzi

Chodzi mi to to, że nie wiem co ten skrawek kodu robi.
Pytam.
Ruch Radzionków
sprawdza 1 czesc etapu
wNogachSpisz
Pytam konkretnie, co robi operator <> ?
Ruch Radzionków
sprawdza czy jest uzyty
wNogachSpisz
Cytat(Ruch Radzionków @ 4.11.2011, 19:58:50 ) *
sprawdza czy jest uzyty

W taki razie jest to kompletnie bez sensu.
Do takich rzeczy służy funkcja isset()

Porównałem wydajność operatora <> a funkcji isset:

Program wykonał się 1 milion razy,

W przypadku niezadeklarowanej zmiennej, isset wykonywało się 0.88338494300842 sek.
natomiast <> 4.2290060520172 sek.
czyli 8 razy wolniej.

W przypadku zadeklarowanej zmienej, isset wykonywało się 0.92593193054199 sek.
nastomiast <> 1.1096000671387 sek.
czyli ok. 20% wolniej

Popraw, wklej, będziemy rozmawiać dalej.
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.