Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][formularz]zapisanie zmiennej po dodaniu odpowiedzi
regedarek
post 12.02.2010, 19:32:12
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2010

Ostrzeżenie: (0%)
-----


Witam, mam problem z moim skryptem, otóż skrypt wyświetla losowy obrazek z opisem, natomiast druga część to formularz, który po wpisaniu odpowiedzi ma porównać odpowiedz z opisem i dać tak lub nie, niestety mam problem z tym, że kiedy daje Odpowiedź strona się odświeża i ładuje się następny obrazek, nie wiem za bardzo po jakich frazach szukać pomocy.


  1.  
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <form action="index.php" method="post">
  7. <table border="0">
  8. <tr><td>odpowiedz</td><td><textarea input type="text" name="odpowiedz" rows="1" cols="20"></textarea></td><td></tr>
  9. <tr><td colspan="1"><input type="submit" value="Odpowiedź"></td></tr>
  10. </table>
  11. </form>
  12. </body>
  13. </html>
  14.  
  15. <?php
  16.  
  17.  
  18. // inicjujemy generator licz losowych
  19. srand((float)microtime()*1000000);
  20.  
  21. // tablica zawierajaca tablice z obrazkiem i opisem do niego
  22. $txt[] = array('textularia.jpg' => 'textularia');
  23. $txt[] = array('triloculina.jpg' => 'triloculina');
  24. $txt[] = array('turitella.jpg' => 'turitella');
  25. $txt[] = array('vermetus.jpg' => 'vermetus');
  26. $txt[] = array('zaphrentis.jpg' => 'zaphrentis');
  27.  
  28. // wybieramy losowy element z tablicy
  29. $txt_rand = $txt[array_rand($txt)];
  30.  
  31. // wyswietlamy obrazek razem z opisem
  32. foreach($txt_rand as $key => $value) {
  33. echo "<div align=\"center\"><img src=\"$key\" /><br />$value</div>";
  34. }
  35.  
  36. // sprawdzenie czy opis = odpowiedz
  37.  
  38. $odp=$_POST['odpowiedz'];
  39.  
  40. $a = $odp;
  41. $b = $value;
  42.  
  43. if ($a == $b)
  44. echo "Tak";
  45. else
  46. echo "Nie";
  47.  
  48.  
  49.  
  50. ?>
  51.  


Ten post edytował regedarek 12.02.2010, 19:32:34
Go to the top of the page
+Quote Post
webspy
post 12.02.2010, 20:18:50
Post #2





Grupa: Zarejestrowani
Postów: 186
Pomógł: 9
Dołączył: 3.03.2008

Ostrzeżenie: (0%)
-----


moze dodaj sobie ukryty input i w value daj zmienna z kodem
potem porownaj odpowiedz z tym ukrytym inputem, tylko ten kod php z generowanym kodem daj przez formularzem

Ja zaczynam przygode z php ale takie rozwiazanie mi przyszlo do glowy
Go to the top of the page
+Quote Post
zordon
post 12.02.2010, 20:48:39
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


daj sobie losowanie obrazka i czytanie odpowiedzi w instrukcję if ... else :

  1.  
  2. if(isset($_POST['odpowiedz'])){ 
  3.  
  4. $odp=$_POST['odpowiedz'];
  5.  
  6. $a = $odp;
  7. $b = $value;
  8.  
  9. if ($a == $b)
  10. echo "Tak";
  11. else
  12. echo "Nie";
  13.  
  14.  
  15. }else{
  16.  
  17. //losowanie obrazka i wyswietlanie formularza
  18.  
  19. }
  20.  


Wtedy jesli uzytkownik wchodzi na stronę po raz pierwszy to nie ma zmiennej $_POST['odpowiedz'] i generuje mu się formularz z obrazkiem, a jesli przesle formularz to obrazek nie jest generowany tylko sprawdzana odpowiedz

Ten post edytował zordon 12.02.2010, 20:49:11
Go to the top of the page
+Quote Post
regedarek
post 12.02.2010, 22:34:46
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2010

Ostrzeżenie: (0%)
-----


hmm, próbuję ale cały czas wyskakują mi błędy albo nie wyświetla obrazek, jeżeli można jakąś wskazówkę..
  1. <?
  2. // tablica zawierajaca tablice z obrazkiem i opisem do niego
  3. $txt[] = array('textularia.jpg' => 'textularia');
  4. $txt[] = array('triloculina.jpg' => 'triloculina');
  5. $txt[] = array('turitella.jpg' => 'turitella');
  6. $txt[] = array('vermetus.jpg' => 'vermetus');
  7. $txt[] = array('zaphrentis.jpg' => 'zaphrentis');
  8.  
  9. // wyswietlamy obrazek razem z opisem
  10. foreach($txt_rand as $key => $value) {
  11. echo "<div align=\"center\"><img src=\"$key\" /><br />$value</div>";
  12. }
  13. if(isset($_POST['odpowiedz'])){
  14.  
  15. $odp=$_POST['odpowiedz'];
  16.  
  17. $a = $odp;
  18. $b = $value;
  19.  
  20. if ($a == $b)
  21. echo "Tak";
  22. else
  23. echo "Nie";
  24.  
  25.  
  26. }else{
  27.  
  28. //losowanie obrazka i wyswietlanie formularza
  29.  
  30. // inicjujemy generator licz losowych
  31. srand((float)microtime()*1000000);
  32.  
  33. // wybieramy losowy element z tablicy
  34. $txt_rand = $txt[array_rand($txt)];
  35.  
  36. echo "<html>
  37. <head>
  38. </head>
  39. <body>
  40. <form action="index.php" method="post">
  41. <table border="0">
  42. <tr><td>odpowiedz</td><td><textarea input type="text" name="odpowiedz" rows="1" cols="20"></textarea></td><td></tr>
  43. <tr><td colspan="1"><input type="submit" value="Odpowiedź"></td></tr>
  44. </table>
  45. </form>
  46. </body>
  47. </html>"
  48. }
  49.  
  50. ?>


możesz jakoś to rozwinąć, nie moge znaleźć nic o ukrytym inpucie
Go to the top of the page
+Quote Post
zordon
post 12.02.2010, 22:50:16
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Troszkę kiepsko szukałeś jeśli nie znalazłeś nic o ukrytych polach. no ale przecież są one ukryte... w google smile.gif

Tu masz działający skrypt:

  1. <?
  2.  
  3.  
  4. // tablica zawierajaca tablice z obrazkiem i opisem do niego
  5. $txt[] = array('textularia.jpg' => 'textularia');
  6. $txt[] = array('triloculina.jpg' => 'triloculina');
  7. $txt[] = array('turitella.jpg' => 'turitella');
  8. $txt[] = array('vermetus.jpg' => 'vermetus');
  9. $txt[] = array('zaphrentis.jpg' => 'zaphrentis');
  10.  
  11.  
  12. if(isset($_POST['odpowiedz']) && isset($_POST['value'])){
  13.  
  14. $odp=$_POST['odpowiedz'];
  15. $value = $_POST['value'];
  16.  
  17.  
  18. if ($odp == $value)
  19. echo "Tak";
  20. else
  21. echo "Nie";
  22.  
  23.  
  24. }else{
  25.  
  26. //losowanie obrazka i wyswietlanie formularza
  27.  
  28. // inicjujemy generator licz losowych
  29. srand((float)microtime()*1000000);
  30.  
  31. // wybieramy losowy element z tablicy
  32. $txt_rand = $txt[array_rand($txt)];
  33. // wyswietlamy obrazek razem z opisem
  34. foreach($txt_rand as $key => $value) {
  35. echo "<div align=\"center\"><img src=\"$key\" /><br />$value</div>";
  36. }
  37. ?>
  38.  
  39. <html>
  40. <head>
  41. </head>
  42. <body>
  43. <form action="index.php" method="post">
  44. <table border="0">
  45. <tr><td>odpowiedz</td><td><textarea input type="text" name="odpowiedz" rows="1" cols="20"></textarea></td><td></tr>
  46. <tr><td colspan="1"><input type="submit" value="Odpowiedź"></td></tr>
  47. </table>
  48. <input name="value" type="hidden" value="<?php echo $value; ?>" />
  49. </form>
  50. </body>
  51. </html>
  52.  
  53. <?php
  54.  
  55. }
  56.  
  57. ?>
Go to the top of the page
+Quote Post
regedarek
post 12.02.2010, 23:07:56
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2010

Ostrzeżenie: (0%)
-----


wow, naprawdę dziękuję za pomoc, teraz tylko muszę znaleźć sposób, żeby ten proces był powtarzany, bo po wciśnięciu przysisku pojawia się wynik Tak lub Nie a chciałbym, żeby pozazywał się kolejny obrazek i formularz.

A znalazłem o ukrytych formularzach tylko nie wiedziałem jak je zastosować ;]
Go to the top of the page
+Quote Post
zordon
post 12.02.2010, 23:14:38
Post #7





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To masz jeszcze na dokładkę:

  1. <?
  2.  
  3.  
  4. // tablica zawierajaca tablice z obrazkiem i opisem do niego
  5. $txt[] = array('textularia.jpg' => 'textularia');
  6. $txt[] = array('triloculina.jpg' => 'triloculina');
  7. $txt[] = array('turitella.jpg' => 'turitella');
  8. $txt[] = array('vermetus.jpg' => 'vermetus');
  9. $txt[] = array('zaphrentis.jpg' => 'zaphrentis');
  10.  
  11.  
  12. if(isset($_POST['odpowiedz']) && isset($_POST['value'])){
  13.  
  14. $odp=$_POST['odpowiedz'];
  15. $value = $_POST['value'];
  16.  
  17.  
  18. if ($odp == $value)
  19. echo "Tak";
  20. else
  21. echo "Nie";
  22.  
  23. }
  24.  
  25. //losowanie obrazka i wyswietlanie formularza
  26.  
  27. // inicjujemy generator licz losowych
  28. srand((float)microtime()*1000000);
  29.  
  30. // wybieramy losowy element z tablicy
  31. $txt_rand = $txt[array_rand($txt)];
  32. // wyswietlamy obrazek razem z opisem
  33. foreach($txt_rand as $key => $value) {
  34. echo "<div align=\"center\"><img src=\"$key\" /><br />$value</div>";
  35. }
  36. ?>
  37.  
  38. <html>
  39. <head>
  40. </head>
  41. <body>
  42. <form action="" method="post">
  43. <table border="0">
  44. <tr><td>odpowiedz</td><td><textarea input type="text" name="odpowiedz" rows="1" cols="20"></textarea></td><td></tr>
  45. <tr><td colspan="1"><input type="submit" value="Odpowiedź"></td></tr>
  46. </table>
  47. <input name="value" type="hidden" value="<?php echo $value; ?>" />
  48. </form>
  49. </body>
  50. </html>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:48