Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Rejestracja - Pytania
Forum PHP.pl > Forum > Przedszkole
Inaro
Siema, mam taki problem zrobiłem skrypt php coś takiego http://plgf-ls.pl/misc.php?page=pytaniarp no ale gdy klikam "przejdź dalej" to przechodzi a powinno nie przechodzić ponieważ nie odpowiedziałeś na pytania... Dlaczego tak jest?questionmark.gif

Pokazać kod php?
strife
Cytat(Inaro @ 21.03.2010, 15:45:10 ) *
Siema, mam taki problem zrobiłem skrypt php coś takiego http://plgf-ls.pl/misc.php?page=pytaniarp no ale gdy klikam "przejdź dalej" to przechodzi a powinno nie przechodzić ponieważ nie odpowiedziałeś na pytania... Dlaczego tak jest?questionmark.gif

Pokazać kod php?

Tak pokaż, ponieważ w niedziele nasza forumowa wróżka nie pracuje czarodziej.gif
Inaro
  1. <head>
  2. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
  3. </head>
  4. <script>
  5. function przetowrz(){
  6. len = document.fi.kodtype.length;
  7. for (i = 0; i < len; i++) {
  8. if (document.fi.kodtype[i].checked) {
  9. wartosc = document.fi.kodtype[i].value;
  10. }
  11. }
  12. }
  13. </script>
  14.  
  15. <?php
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22. <table align=center cellspacing=0 width=80%>
  23. <tr>
  24. <td style="background-image: url(images); color:" height=30>
  25. <font size=3><b>Rejestracja - Pytania z wiedzy RP</td></tr>
  26. <tr><td bgcolor=><font color= size=2>
  27.  
  28.  
  29.  
  30.  
  31. <form id="fi" name="odpowiedz1" method="POST" action="misc.php?page=pytania">
  32. <fieldset>
  33. <legend>Czy na serwerze RP dopuszczalny jest Deathmatch (DM)tryb rozgrywki w grach multiplayerowych - Zabijanie ?</legend>
  34. <input type="radio" name="1" value="1" alt="" /> Oczywiście, że tak. Pod warunkiem, że akcja została rozegrana Role Play, oraz z dużym powodem użyciem broni wobec danej osoby<br>
  35. <input type="radio" name="1" value="2" alt="" /> Tak, ale tylko organizacje porządkowe <br>
  36. <input type="radio" name="1" value="3" alt="" /> Jeżeli admin pozwoli, to tak <br>
  37. <input type="radio" name="1" value="4" alt="" /> Przecież nikomu nic nie robię <br>
  38. </fieldset>
  39.  
  40. <BR><BR>
  41. <fieldset>
  42. <legend>Co zrobisz gdy na serwerze nie ma admina a cziter zabija graczy?</legend>
  43. <input type="radio" name="2" value="1" alt="" /> Napiszę do admina na gg, opiszę sytuację i nick czitera <br>
  44. <input type="radio" name="2" value="2" alt="" /> Szybko ucieknę z miejsca walki i będę czekał <br>
  45. <input type="radio" name="2" value="3" alt="" /> Wyjdę z serwera i pójdę na inny serwer <br>
  46. <input type="radio" name="2" value="4" alt="" /> Włącze czita i spróbuje z nim walczyć <br>
  47. </fieldset>
  48.  
  49. <BR><BR>
  50. <fieldset>
  51. <legend>Która komenda /ja jest nieprawidłowa?</legend>
  52. <input type="radio" name="3" value="1" alt="" /> /ja chwyta lewą ręką zza kabure, wyciągając z niej Colta 45, chwile później odbezpiecza go<br>
  53. <input type="radio" name="3" value="2" alt="" /> /ja strzela w osobnika <br>
  54. <input type="radio" name="3" value="3" alt="" /> /ja rzyga na Jino Kushido <br>
  55. <input type="radio" name="3" value="4" alt="" /> /ja naciska guzik w kokpicie auta <br>
  56. </fieldset>
  57.  
  58.  
  59. <BR><BR>
  60. <fieldset>
  61. <legend>Co zrobisz jak będziesz świadkiem dużego wypadku samochodowego?</legend>
  62. <input type="radio" name="4" value="1" alt="" /> Wyślę report do admina, bo gracze robią DD<br>
  63. <input type="radio" name="4" value="2" alt="" /> Szybko zadzwonię na policję i pogotowie<br>
  64. <input type="radio" name="4" value="3" alt="" /> Zrobię jednemu kierowcy NJ i ukradne mu wóz <br>
  65. <input type="radio" name="4" value="4" alt="" /> Szybko ulotnię się z miejsca wypadku, jeszcze będzie na mnie<br>
  66. </fieldset>
  67.  
  68.  
  69. <BR><BR>
  70. <fieldset>
  71. <legend>Jak zachowasz się, gdy ktoś cię potrąci samochodem?</legend>
  72. <input type="radio" name="5" value="1" alt="" /> Wyzwę go na kanale OOC<br>
  73. <input type="radio" name="5" value="2" alt="" /> Napisze /report do adminów za CK<br>
  74. <input type="radio" name="5" value="3" alt="" /> Wyjmę broń w sposób rp i zastrzele go<br>
  75. <input type="radio" name="5" value="4" alt="" /> Wpiszę /anim ranny i odegram akcję z zasadami Role Play<br>
  76. </fieldset>
  77.  
  78.  
  79. <BR><BR>
  80. <fieldset>
  81. <legend>Jakiś nieznajomy człowiek wsiada do twojego auta i prosi cie abyś go podrzucił, co zrobisz?</legend>
  82. <input type="radio" name="6" value="1" alt="" /> Wpiszę (/ja związuje człowieka, /do udało się!), wkońcu mam prawo do tego<br>
  83. <input type="radio" name="6" value="2" alt="" /> Napisze /report do adminów (%% wsiadł do mojego auta bez żadnej akcji RP)<br>
  84. <input type="radio" name="6" value="3" alt="" /> Wyciągne broń i mu dam<br>
  85. <input type="radio" name="6" value="4" alt="" /> Zawioze go tam gdzie chce<br>
  86. </fieldset>
  87.  
  88.  
  89. <BR><BR>
  90. <fieldset>
  91. <legend>Widzisz jak ktoś kradnie twój wóz, co robisz?</legend>
  92. <input type="radio" name="7" value="1" alt="" /> Dzwonię na policję, opisuje miejsce zdarzenia, numery rejestracyjne i dokładny opis zdarzenia<br>
  93. <input type="radio" name="7" value="2" alt="" /> Pytam się gościa na kanale OOC, oco mu chodzi<br>
  94. <input type="radio" name="7" value="3" alt="" /> Odegram akcje DM, może uda mi się go przestraszyć<br>
  95. <input type="radio" name="7" value="4" alt="" /> Wyślę report do admina, wkońcu od tego oni są<br>
  96. </fieldset>
  97.  
  98.  
  99. <BR><BR>
  100.  
  101. <input style="padding: 1px 102 1 102; background-color: #74ad5a; border-style: solid; border-width: 1px; border-color: #797979; color: white; font-family: sans-serif; font-weight: bold; font-size: 11px;" type="submit" name="Submit" value="Przejdź dalej" />
  102.  
  103. </form>
  104.  
  105. ';
  106. $err = 0;
  107. $iloscPytan = 7;
  108. for($i=1; $i<=$iloscPytan; $i++)
  109. {
  110. if(empty($_POST["$i"]))
  111. exit("Pozostawiles pytania bez odpowiedzi!");
  112. }
  113. if($_POST['1'] != 1)
  114. {
  115. $err++;
  116. }
  117. if($_POST['2'] != 1)
  118. {
  119. $err++;
  120. }
  121. if($_POST['3'] != 3)
  122. {
  123. $err++;
  124. }
  125. if($_POST['4'] != 2)
  126. {
  127. $err++;
  128. }
  129. if($_POST['5'] != 4)
  130. {
  131. $err++;
  132. }
  133. if($_POST['6'] != 2)
  134. {
  135. $err++;
  136. }
  137. if($_POST['7'] != 1)
  138. {
  139. $err++;
  140. }
  141. if($err == 0)
  142. {
  143. header("location: misc.php?page=rejestracjakonta");
  144. }
  145. else
  146. {
  147. if($err == 0)
  148. {
  149. echo "Źle!";
  150. }
  151. }
  152. {
  153. $_SESSION['krok'] == "3";
  154. }
  155.  
  156. </td>
  157. </tr>
  158. </table>
  159.  
  160.  
  161.  
  162. ';
  163.  
  164.  
  165. ?>
  166. <head>
  167. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
  168. </head>
  169. </div>
Pawel_W
po 1 to niepotrzebnie cały ten formularz masz w php, wywal go z poza echo to będzie ładniej wyglądało smile.gif

co do skryptu, to zamień i+ + na i++ w pętli

i taka porada, nie nazywaj pól numerami, to niezgodne ze standardami smile.gif
mortus
Dokładnie problem może leżeć w nazewnictwie pól, a przecież zamiast name="1" można dać name="pytanie_1" i później w kodzie php
  1. for($i = 1; $i <= $iloscPytan; $i++) {
  2. $pole = 'pytanie_' . $i;
  3. if(empty($_POST[$pole])) ...;
  4. }
Poza tym, czy walidacja nie powinna nastąpić nieco wcześniej, a właściwie na samym początku skryptu? No i użycie funkcji exit('Jakiś tekst'); powoduje wyświetlenie na ekranie tekstu 'Jakiś tekst' i zatrzymuje wykonywanie skryptu. Jeżeli zatem któraś z odpowiedzi nie będzie zaznaczona, to kod następujący po powyższej instrukcji się nie wykona (czyli u Ciebie zliczanie błędów).
Inaro
No ale mi chodzi że jak klikam przejdź dalej a nie odpowiedziałem na pytania to przechodzi oraz jak źle odpowiedziałem na pytania też przechodzi a nie powinno jak to naprawić, kod dałem wyżej.


Sami zobaczcie http://plgf-ls.pl/misc.php?page=pytaniarp

Czy może mi ktoś pomóc, ponieważ czekam już dłuszy czas.
mortus
A nie rozumiesz, że wartość atrybutu name nie może zaczynać się cyfrą? Specyfikacja mówi sama za siebie!
Inaro
Czy może mi ktoś w końcu pomóc, ponieważ bawię się z tym od 2 tygodni inny moi koledzy też nie wiedzą o co tutaj chodzi dlaczego tak jest...
mortus
Jeżeli Twój kod wygląda nadal tak, jak w pierwszym poście, to zastosuj się do wskazówek, które otrzymałeś i wklej tutaj to co udało Ci się wymyślić.
Inaro
Mój kolega kazał mi zmienić kod ten

  1. if(empty($_POST["$i"]))
  2. exit("Pozostawiles pytania bez odpowiedzi!");
  3. }
  4. if($_POST['1'] != 1)
  5. {
  6. exit("źle");
  7. }
  8. if($_POST['2'] != 1)
  9. {
  10. exit("źle");
  11. }
  12. if($_POST['3'] != 3)
  13. {
  14. exit("źle");
  15. }
  16. if($_POST['4'] != 2)
  17. {
  18. exit("źle");
  19. }
  20. if($_POST['5'] != 4)
  21. {
  22. exit("źle");
  23. }
  24. if($_POST['6'] != 2)
  25. {
  26. exit("źle");
  27. }
  28. if($_POST['7'] != 1)
  29. {
  30. exit("źle");
  31. }
  32. else
  33. {
  34. header("location: /misc.php?page=rejkonta");
  35. }
  36. {
  37. $_SESSION['krok'] == "3";
  38. }


Na

  1. if(empty($_POST["$i"]))
  2. exit("Pozostawiles pytania bez odpowiedzi!");
  3. }
  4. else if($_POST['1'] != 1)
  5. {
  6. exit("źle");
  7. }
  8. else if($_POST['2'] != 1)
  9. {
  10. exit("źle");
  11. }
  12. else if($_POST['3'] != 3)
  13. {
  14. exit("źle");
  15. }
  16. else if($_POST['4'] != 2)
  17. {
  18. exit("źle");
  19. }
  20. else if($_POST['5'] != 4)
  21. {
  22. exit("źle");
  23. }
  24. else if($_POST['6'] != 2)
  25. {
  26. exit("źle");
  27. }
  28. else if($_POST['7'] != 1)
  29. {
  30. exit("źle");
  31. }
  32. else
  33. {
  34. header("location: /misc.php?page=rejkonta");
  35. }
  36. {
  37. $_SESSION['krok'] == "3";
  38. }


Ale to teraz w ogóle nie działa. Proszę kogoś o pomoc ponieważ ja sobie z tym rady nie dam...
foxbond
Na wszystko Masz już odp.
Nie może być
  1. <input type="radio" name="7" value="1" alt="" />

musi być
  1. <input type="radio" name="pytanie_7" value="1" alt="" />


a w php
  1. if($_POST['x'] != 1)

pozamieniaj na
  1. if($_POST['pytanie_x'] != 1)


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.