Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] odczyt danych
kojoto3
post 22.01.2009, 11:52:24
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


Chodzi o to że mam aniketę, gdzie zaznaczam kilka odpowiedzi, mogę jedną lub więcej
Co zmienić w skrypcie odczytującym aby brał to poduwagę.
Teraz mi wyświetla wszystkie, obojętnie ile zaznaczę.
  1. <?php
  2. echo "Rybą jest:<br/><br/>";
  3. if ($_POST['pole']) echo "- Karp<br/>";
  4.  
  5. else if ($_POST['pole'])echo "- Wieloryb<br/>";
  6.  
  7. else if ($_POST['pole'])echo "- Rekin<br/>";
  8.  
  9. else if ($_POST['pole'])echo "- Panda<br/>";
  10.  
  11. else if (!isset($_POST['pole']) and !isset($_POST['pole'])and !isset($_POST['pole'])and !isset($_POST['pole']))
  12. echo "Ups ... nic nie wybrałeś!<br/>";
  13.  
  14. echo "<br/><br/>";
  15. echo "<a href='zadanie8.php'>Powrót</a>";
  16. ?>
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 11:57:04
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Pokaż na początku formularz...

Co do skryptu to źle odczytujesz wartości tablicy $_POST['pole'], zamień na $_POST['pole'][0], $_POST['pole'][1], ..., $_POST['n'] ... A najlepiej to zrobić w pętli... pokaż tylko ten formularz...
Go to the top of the page
+Quote Post
kojoto3
post 22.01.2009, 12:12:43
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


  1. <?php
  2. //formatka do wprowadzania danych
  3. function displayCheckBox($form,$submit,$query,$data=array(),$solution=array())
  4. {
  5. echo "<h3>$query</h3>
  6. <form method ='post' action='$form'>
  7. <input type='checkbox' name='pole'/> $data[0]<br>
  8. <input type='checkbox' name='pole'/> $data[1]<br>
  9. <input type='checkbox' name='pole'/> $data[2]<br>
  10. <input type='checkbox' name='pole'/> $data[3]<br><br/>
  11. <input type=submit value='$submit'>";
  12. }
  13. // program
  14.  
  15. $data=array('Karp','Wieloryb','Rekin','Panda');
  16. $solution=array(1,0,1,0);
  17. displayCheckBox('wynik8.php','OK','Które zwierze jest rybą?',$data,$solution);
  18. ?>


i nie bardzo wiem jak zrobić aby zanaczenia porównywał z $solution i odpowiednio wyświetlał, że jest to ryba, albo że nie
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 12:27:58
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Poniższą tablicę przenieś sobie do oddzielnego pliku np. baza.php tak abyś mógł ją includować do skryptu z formularzem i skryptu weryfikującego wyniki...

  1. <?php
  2. $data = array('Karp','Wieloryb','Rekin','Panda');
  3. ?>


w formularzu jak chcesz użyć checkboxów aby dać możliwość przekazania kilku wyników to dodaj do pole - [] - tak jak poniżej, dla każdego inputa

Kod
<input type='checkbox' name='pole[]' value='0' /> $data[0]<br>
<input type='checkbox' name='pole[]' value='1' /> $data[1]<br>
<input type='checkbox' name='pole[]' value='2' /> $data[2]<br>
<input type='checkbox' name='pole[]' value='3' /> $data[3]<br>


Tak w ogóle to te inputy możesz zrobić w pętli...

Następnie w wynik8.php

  1. <?php
  2. include('baza.php');
  3.  
  4. if (!empty($_POST['pole']) {
  5.    foreach ($_POST['pole'] as $value) {
  6.        echo $data[$value] . '<br />';
  7.    }
  8. } else {
  9.    echo 'brak odpowiedzi';
  10. }
  11. ?>
Go to the top of the page
+Quote Post
kojoto3
post 22.01.2009, 12:43:57
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


coś jest nie tak
w linii if pokazuje błąd
Go to the top of the page
+Quote Post
rzymek01
post 22.01.2009, 12:51:15
Post #6





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


bo jest jeden nawias za malo?

trudno jest się przyjrzeć kodowi?


--------------------
:]
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 12:59:26
Post #7





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Sorki, z palca to napisałem...
Go to the top of the page
+Quote Post
kojoto3
post 22.01.2009, 13:04:15
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


A jak zrobić aby porównywał z $solution
1 prawda
0 fałsz
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 13:10:37
Post #9





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Nie bardzo rozumiem... Masz pytanie na które są 2 odpowiedzi: 1. Tak i 2. Nie ?
Go to the top of the page
+Quote Post
rzymek01
post 22.01.2009, 13:11:51
Post #10





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


Cytat(EarthCitizen @ 22.01.2009, 12:59:26 ) *
Sorki, z palca to napisałem...

to nie ty przepraszaj, tylko kojoto3, który dostał kod i pewnie robi tylko ctrl+v-> ctrl+s-> F5-> nie działa->musze napisac na forum :/


--------------------
:]
Go to the top of the page
+Quote Post
kojoto3
post 22.01.2009, 13:14:45
Post #11





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


może to ja nie bardzo rozumie,
ale mi chodzi po co zmienna $solution=array(1,0,1,0) ?
w sumie to chciałem aby jak zanaczę nie rybę to żeby mi wyświetlał że to nie jest ryba, albo żeby nie wyświetlał "nie ryby"
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 13:20:16
Post #12





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Cytat
może to ja nie bardzo rozumie,
ale mi chodzi po co zmienna $solution=array(1,0,1,0) ?
w sumie to chciałem aby jak zanaczę nie rybę to żeby mi wyświetlał że to nie jest ryba, albo żeby nie wyświetlał "nie ryby"

biggrin.gif czy komuś jeszcze chce się śmiać ?tongue.gif

Jak się uspokoję to może wrócę do Twojego problemu... a Ty do tego czsu postaraj się sam zrozumieć, jaki miałeś zamiar wprowadzając tę zmienną
Go to the top of the page
+Quote Post
rzymek01
post 22.01.2009, 13:25:41
Post #13





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


dostal.gif

mi się zdaję, że po prostu chcesz zrobić tak:
to jest jakiś quiz, i ty znasz prawidłową odpowiedx, a user ma to zgadnąć i teraz chcesz sprawdzić czy on podał dobrą odpowiedź, a w przypadku błędu zaznaczyć: no niestety, wszystko jest bardziej leniwe niż leniwiec (KMN) ?tongue.gif


--------------------
:]
Go to the top of the page
+Quote Post
kojoto3
post 22.01.2009, 13:27:18
Post #14





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.12.2008

Ostrzeżenie: (10%)
X----


jeśli każdy by tak wszystko od razu rozumiał to po co się uczyć.
dolną część skryptu otrzymałem gotową i mam dokończyć aby działał
miło mi że Cię rozbawiłem, ale myślę że VICE VERSA w innych dziedzinach
a forum jest po to by sobie pomagać
Go to the top of the page
+Quote Post
EarthCitizen
post 22.01.2009, 13:29:34
Post #15





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


No nie bierz tak tego do siebie smile.gif Człowieku, przecież tu się ludzie pocą, żebyś miał ten swój quiz, sondę czy co tam jeszcze...
Go to the top of the page
+Quote Post
rzymek01
post 22.01.2009, 13:32:55
Post #16





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


jeszcze raz przypatrz się problemowi, weź kartkę i ołówek i przemysl działanie aplikacji, potem spróbuj to zapisać w PHP


--------------------
:]
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: 19.07.2025 - 15:04