Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz wielopoziomowy
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam.
Po raz kolejny piszę formularz wielopoziomowy tym razem jest pięć poziomów. Dwa pierwsze poziomy działają, lecz nie chce przejść do następnego. Mam pytanie czy muszę coś przesyłać pod hidden?

Tak wyglądają trzy etapy:

  1. <?php
  2. include('include/db.php');
  3. if(!isset($_POST['akcept']))
  4. {
  5. $regulamin = "SELECT * FROM `regulamin`";
  6. $idregulamin = mysql_query($regulamin);
  7. while($wiersz = mysql_fetch_array($idregulamin))
  8. {
  9. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  10. }
  11. echo '<form action="index.php?page=rejestracja" method="post">
  12. <input type="submit" name="akcept" value="Akceptuj regulamin" />
  13. </form>';
  14. }
  15. elseif(isset($_POST['akcept']))
  16. {
  17. $info = "SELECT * FROM `info`";
  18. $idinfo = mysql_query($info);
  19. while($wiersz = mysql_fetch_array($idinfo))
  20. {
  21. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  22. }
  23. echo '<form action="index.php?page=rejestracja" method="post">
  24. <input type="submit" name="dalej" value="Przejdź dalej" />
  25. </form>';
  26. }
  27. elseif(isset($_POST['dalej']))
  28. {
  29. $quiz = "SELECT * FROM `quiz`";
  30. $idquiz = mysql_query($quiz);
  31. while($wiersz = mysql_fetch_array($idquiz))
  32. {
  33. echo ''.stripslashes(bbc($wiersz['pytanie'])).'';
  34. echo '<textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea"></textarea>';
  35. }
  36. echo '<form action="index.php?page=rejestracja" method="post">
  37. <input type="submit" name="quiz" value="Wyślij" />
  38. </form>';
  39. }
  40. ?>


Reszta jest tworzona tak samo. Czwarty: jeżeli istnieje post quiz to pokazuje czwarty poziom. Proszę o pomoc smile.gif
Fifi209
Nic w hidden, użyj po prostu sessions i tam zapisuj wszystko, na końcu będziesz miał jak na tacy ;]
adrianozo
Ale ja nie potrzebuje niczego przesyłać. Chcę tylko sprawdzić, czy poprzedni formularz został przesłany tj czy przycisk submit został wciśnięty
Fifi209
Cytat(adrianozo @ 16.06.2010, 20:00:29 ) *
Ale ja nie potrzebuje niczego przesyłać. Chcę tylko sprawdzić, czy poprzedni formularz został przesłany tj czy przycisk submit został wciśnięty

A kazał Ci ktoś coś przesyłać? ;] Doradziłem tylko skorzystanie z sesji - jeżeli użyszkodnik wypełnił poprzedni to wyświetlasz kolejny i tak do końca ;]
adrianozo
Ja i sesje to nie najlepsze rozwiązanie smile.gif

Próbuje to zrobić tak, ale dalej to samo:

  1. <h2>Rejestracja</h2>
  2. <?php
  3. include('include/db.php');
  4. if(!isset($_POST['akcept']))
  5. {
  6. $regulamin = "SELECT * FROM `regulamin`";
  7. $idregulamin = mysql_query($regulamin);
  8. while($wiersz = mysql_fetch_array($idregulamin))
  9. {
  10. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  11. }
  12. echo '<form action="index.php?page=rejestracja" method="post">
  13. <input type="submit" name="akcept" value="Akceptuj regulamin" />
  14. </form>';
  15. }
  16. elseif(isset($_POST['akcept']))
  17. {
  18. $info = "SELECT * FROM `info`";
  19. $idinfo = mysql_query($info);
  20. while($wiersz = mysql_fetch_array($idinfo))
  21. {
  22. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  23. }
  24. echo '<form action="index.php?page=rejestracja" method="post">
  25. <input type=hidden value="akcept" name="1" />
  26. <input type="submit" name="dalej" value="Przejdź dalej" />
  27. </form>';
  28. }
  29. elseif(isset($_POST['dalej']))
  30. {
  31. $quiz = "SELECT * FROM `quiz`";
  32. $idquiz = mysql_query($quiz);
  33. while($wiersz = mysql_fetch_array($idquiz))
  34. {
  35. echo ''.stripslashes(bbc($wiersz['pytanie'])).'';
  36. echo '<textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea"></textarea>';
  37. }
  38. echo '<form action="index.php?page=rejestracja" method="post">
  39. <input type=hidden value="dalej" name="1" />
  40. <input type="submit" name="quiz" value="Wyślij" />
  41. </form>';
  42. }
  43. elseif(isset($_POST['quiz']))
  44. {
  45. echo '<form action="index.php?page=rejestracja" method="post">
  46. <input type=hidden value="quiz" name="1" />
  47. <input type="text" name="login" value="Podaj tu swój nick OOC. Swoją postać stworzysz w panelu. />
  48. <input type="password" name="haslo1" />
  49. <input type="password" name="haslo2" />
  50. <input type="text" name="email1" />
  51. <input type="text" name="email2" />
  52. <select name="plec" id="id_plec">
  53. <option value="0">Wybierz...</option>
  54. <option value="1">Mężczyzna</option>
  55. <option value="2">Kobieta</option>
  56. </select>
  57. <input type="submit" name="rejestracja" value="Zarejestruj się" />
  58. </form>';
  59. }
  60. elseif(isset($_POST['rejestracja']))
  61. {
  62. $info = "SELECT * FROM `koniec`";
  63. $idinfo = mysql_query($info);
  64. while($wiersz = mysql_fetch_array($idinfo))
  65. {
  66. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  67. }
  68. echo '<form action="index.php?page=rejestracja" method="post">
  69. <input type=hidden value="rejestracja" name="1" />
  70. <input type="submit" name="koniec" value="Zakończ rejestracje" />
  71. </form>';
  72. }
  73. elseif(isset($_POST['koniec']))
  74. {
  75. echo '<form action="index.php?page=logowanie" method="post">
  76. <input type=hidden value="koniec" name="1" />
  77. <input type="text" name="login" />
  78. <input type="password" name="haslo" />
  79. <input type="submit" name="loguj" value="Zaloguj się" />
  80. </form>';
  81. }
  82. mysql_close($connect);
  83. ?>
sadistic_son
Wszystko będzie działać jeśli elseif pozamieniasz na if w linijkach 29, 43, 60 i 73.
adrianozo
Jest prawie ok tylko jak już wejdę do trzeciego kroku i więcej pokazuje się i Akceptuj regulamin i to co ma się tam pokazać

KOD:
  1. <h2>Rejestracja</h2>
  2. <?php
  3. include('include/db.php');
  4. if(!isset($_POST['akcept']))
  5. {
  6. $regulamin = "SELECT * FROM `regulamin`";
  7. $idregulamin = mysql_query($regulamin);
  8. while($wiersz = mysql_fetch_array($idregulamin))
  9. {
  10. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  11. }
  12. echo '<form action="index.php?page=rejestracja" method="post">
  13. <br /><input type="submit" name="akcept" value="Akceptuj regulamin" /><br /><br />
  14. </form>';
  15. }
  16. elseif(isset($_POST['akcept']))
  17. {
  18. $info = "SELECT * FROM `info`";
  19. $idinfo = mysql_query($info);
  20. while($wiersz = mysql_fetch_array($idinfo))
  21. {
  22. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  23. }
  24. echo '<form action="index.php?page=rejestracja" method="post">
  25. <input type="hidden" value="akcept" name="1" />
  26. <br /><input type="submit" name="dalej" value="Przejdź dalej" />
  27. </form>';
  28. }
  29. if(isset($_POST['dalej']))
  30. {
  31. $quiz = "SELECT * FROM `quiz`";
  32. $idquiz = mysql_query($quiz);
  33. while($wiersz = mysql_fetch_array($idquiz))
  34. {
  35. echo ''.stripslashes(bbc($wiersz['pytanie'])).'';
  36. echo '<textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea"></textarea>';
  37. }
  38. echo '<form action="index.php?page=rejestracja" method="post">
  39. <input type="hidden" value="dalej" name="1" />
  40. <br /><input type="submit" name="quiz" value="Wyślij" />
  41. </form>';
  42. }
  43. if(isset($_POST['quiz']))
  44. {
  45. echo '<form action="index.php?page=rejestracja" method="post">
  46. <input type="hidden" value="quiz" name="1" />
  47. Login: <br /><input type="text" name="login" value="Podaj tu swój nick OOC. Swoją postać stworzysz w panelu." /><br />
  48. Hasło: <br /><input type="password" name="haslo1" /><br />
  49. Powtórz hasło: <br /><input type="password" name="haslo2" /><br />
  50. Email: <br /><input type="text" name="email1" /><br />
  51. Powtórz email: <br /><input type="text" name="email2" /><br />
  52. Płeć: <br /><select name="plec" id="id_plec">
  53. <option value="0">Wybierz...</option>
  54. <option value="1">Mężczyzna</option>
  55. <option value="2">Kobieta</option>
  56. </select><br /><br />
  57. <input type="submit" name="rejestracja" value="Zarejestruj się" />
  58. </form>';
  59. }
  60. if(isset($_POST['rejestracja']))
  61. {
  62. $info = "SELECT * FROM `koniec`";
  63. $idinfo = mysql_query($info);
  64. while($wiersz = mysql_fetch_array($idinfo))
  65. {
  66. echo ''.stripslashes(bbc($wiersz['tresc'])).'';
  67. }
  68. echo '<form action="index.php?page=rejestracja" method="post">
  69. <input type="hidden" value="rejestracja" name="1" />
  70. <br /><input type="submit" name="koniec" value="Zakończ rejestracje" />
  71. </form>';
  72. }
  73. if(isset($_POST['koniec']))
  74. {
  75. echo '<form action="index.php?page=logowanie" method="post">
  76. <input type="hidden" value="koniec" name="1" />
  77. Login: <br /><input type="text" name="login" /><br />
  78. Hasło: <br /><input type="password" name="haslo" />
  79. <br /><br /><input type="submit" name="loguj" value="Zaloguj się" />
  80. </form>';
  81. }
  82. mysql_close($connect);
  83. ?>


A da się zrobić tak, że wchodzę w rejestracje, która jest zrobiona $_GET i w index.php?page=rejestracja&krok=2 mam quiz jak mogę sprawdzić z jakiej strony przyszedł użytkownik i jeżeli przyszedł z index.php?page=rejestracja&krok=1 a wpiszę index.php?page=rejestracja&krok=5 to nie przejdzie tylko wyskoczy mu komunikat, że np nie akceptował regulaminu?
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.