Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Pamiętanie zmiennych bez submit
Forum PHP.pl > Forum > Przedszkole
klusek34
Witam serdecznie, zaznaczam że jest to początkujący kod i proszę o wyrozumiałość, szukałem i znajdowałem wiele quizów w php ale wszystkie były robione w sposób: wszystkie pytania na jednej stronie, ja chciałem zrobić prosty quiz z tym że każde pytanie na innej stronie, czyli trzeba wykorzystać sesje, kod który prezentuje poniżej działa tzn. na końcu wyświetla zmienne sesyjne, jednak jest pewna niedogodność, otóż za każdym razem przy odpowiadaniu na pytanije trzeba wcisnąć submit, bo tylko wtedy odpowiedź jest zapamiętana w zmiennej post i sesyjnej, moje pytanie jest: czy można od razu przy kliknięciu "następne pytanie"; zapamiętać tą odpowiedź (bez submit na każdej stronie)? poniżej kod.
  1. <----plik ask1.php----------->
  2. <?php
  3. $_SESSION['ask1'] = $_POST['p1'];
  4. ?>
  5.  
  6. <html>
  7. <body>
  8. <form action="ask1.php" method="post">
  9. <input type="radio" name="p1" value="1">pierwsza opcja
  10. <input type="radio" name="p1" value="2">druga opcja
  11. <input type="radio" name="p1" value="3">trzecia opcja
  12. <input type="submit" value=go>
  13. </form>
  14. <a href="ask2.php">Następne</a>
  15. </body>
  16. </html>
  17.  
  18. <----plik ask2.php----------->
  19. <?php
  20. $_SESSION['ask2'] = $_POST['p2'];
  21. ?>
  22.  
  23. <html>
  24. <body>
  25. <form action="ask2.php" method="post">
  26. <input type="radio" name="p2" value="1">pierwsza opcja
  27. <input type="radio" name="p2" value="2">druga opcja
  28. <input type="radio" name="p2" value="3">trzecia opcja
  29. <input type="submit" value=go>
  30. </form>
  31. <a href="ask1.php">Poprzednie</a>
  32. <a href="ask3.php">Następne</a>
  33. </body>
  34. </html>
  35.  
  36. <----plik final.php----------->
  37. <?php
  38. ?>
  39. <html>
  40. <body>
  41. wyniki ze zmiennych;
  42. echo $_SESSION['ask1'];
  43. echo $_SESSION['ask2'];
  44. session_destroy();
  45. </body>
  46. </html>
marekge
Rozwiązań jak zawsze jest wiele.
Podam Ci nie najlepsze ale często stosowane.
Mianowicie za pomocą CSS możesz sformatować pole submit tak że będzie wyglądało dokładnie tak jak twój <a> "Następne".
W taki prosty sposób bez udziału php pozbędziesz się problemu :-)

Przykład takiej klasy w CSS:
  1. .jaklink {
  2. border-width: 0;
  3. color: gray;
  4. display: inline;
  5. margin: 0 1px 0 0;
  6. padding: 0;
  7. width: 50px;
  8. }


Dostosują ją sobie do swojego przykładu :-)
klusek34
Dziękuje tak właśnie myślałem tylko nie wiedziałem że jest to powszechnie stosowane smile.gif A tak nawiasem jak patrzysz na ten kod to nie ma w nim nic głupiego? Tzn czy tak się pisze mniej więcej że każdy plik.php zawiera formularz z submitem?
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.