Index:
<html> <body> <form action="index.php" method="post" > Iloćś Pytań <input type="text" name="ilosc_pytan" value="" /> </br> Ilość odpowiedzi na pytanie: <select name="ilosc_odp"> <option>2</option> <!-- Formularz --> <option>4</option> </select> </br> <input type="submit" value="Prześlij" /> </form> <form action="form.php" method="post" > <?php $pytania= $_POST['ilosc_pytan']; // przypisywanie wartosci pol formularza do zmiennych $odpowiedzi= $_POST['ilosc_odp']; $abcd[1]= 'a. '; $abcd[2]= 'b. '; $abcd[3]= 'c. '; // tablica z literami do odpowiedzi $abcd[4]= 'd. '; echo '<input type="hidden"'. 'name='. '"'. "ilosc_wszystkich_pytan". '"' . 'value='. '"'. "$pytania". '" />'; // liczba ilosci pytan echo '<input type="hidden"'. 'name='. '"'. "ilosc_wszystkich_odpowiedzi". '"' . 'value='. '"'. "$odpowiedzi". '" />'; // tworzenie pytan for($i=1; $i<= $pytania; $i++) { echo "Pytanie $i: ". '<input type="text"'. 'name='. '"'. "ilosc_pytan$i". '"' . 'value="" />'. '</br>'; //petla for ilosc pytan i odpow // jesli sa tylko dwie odpowiedzi funkca if if($odpowiedzi==2) { for($j=1; $j<=2; $j++) { echo '<input type="checkbox"'. 'name='. '"'. "odp_true1$i$j". '"' . 'value='. '"'. "$j". '" />'. " $abcd[$j]". '<input type="text"'. 'name='. '"'. "odpowiedzi$i$j". '"' . 'value="" />'; } } // jesli sa 4 odpowiedzi elseif elseif($odpowiedzi==4) { for($j=1; $j<=4; $j++) { echo '<input type="checkbox"'. 'name='. '"'. "odp_true1$i$j". '"' . 'value='. '"'. "$j". '" />'. " $abcd[$j]". '<input type="text"'. 'name='. '"'. "odpowiedzi$i$j". '"' . 'value="" />'. '</br>'; } } } // koniec skryptu pytajacego // poczatek skryptu obliczajacego i wyswietlajacego ?> </body> </html>
plik form:
<html><body> <form action="form.php" method="post" > <?php $abcd[1]= 'a. '; $abcd[2]= 'b. '; $abcd[3]= 'c. '; // tablica z literami do odpowiedzi $abcd[4]= 'd. '; $ile_pytan = $_POST['ilosc_wszystkich_pytan']; $ile_odpowiedzi= $_POST['ilosc_wszystkich_odpowiedzi']; // przesyla informacje o ilosci pytan i odpowiedzi echo '<input type="hidden"'. 'name='. '"'. "ilosc2". '"' . 'value='. '"'. "$ile_odpowiedzi". '" />'; // ... // niewidoczne pola odpowiedzi for($rr=1; $rr<=$ile_pytan; $rr++) { // jesli 2 odpowiedzi if($ile_odpowiedzi==2) { for($aa=1; $aa<=2; $aa++) { $true_index= $_POST["odp_true1$rr$aa"]; echo '<input type="hidden"'. 'name='. '"'. "odp_true3$rr$aa". '"' . 'value='. '"'. "$true_index". '" /></br>'; } } // jesli 4 odp if($ile_odpowiedzi==4) { for($aa=1; $aa<=4; $aa++) { $true_index= $_POST["odp_true1$rr$aa"]; echo '<input type="hidden"'. 'name='. '"'. "odp_true3$rr$aa". '"' . 'value='. '"'. "$true_index". '" /></br>'; } } } // ... for($z=1; $z<=$ile_pytan; $z++) { $post= $_POST["ilosc_pytan$z"]; // petla wyswietla pytania if($ile_odpowiedzi==2) { for($zz=1; $zz<=2; $zz++) { $odp= $_POST["odpowiedzi$z$zz"]; // jesli 2 odpowiedzi echo '<input type="checkbox"'. 'name='. '"'. "odp_true2$z$zz". '"' . 'value='. '"'. "$zz". '" />'. "<b> $abcd[$zz]</b> $odp </br>"; } } // ... if($ile_odpowiedzi==4) { for($zz=1; $zz<=4; $zz++) { $odp= $_POST["odpowiedzi$z$zz"]; // jesli 4 odpowiedzi echo '<input type="checkbox"'. 'name='. '"'. "odp_true2$z$zz". '"' . 'value='. '"'. "$zz". '" />'. "<b> $abcd[$zz]</b> $odp </br>"; } } // ... } // koniec skryptu wyświetlania // skrypt liczacy $ile_pytan1 = $_POST['ilosc1']; // przypisywanie ilosci pytan i odpowiedzi $ile_odpowiedzi2= $_POST['ilosc2']; for($cc=1; $cc<=$ile_pytan1; $cc++) { // jesli 2 odp if($ile_odpowiedzi2==2) { $true1= $_POST["odp_true3$cc". '1']; $true2= $_POST["odp_true3$cc". '2']; $true11= $_POST["odp_true2$cc". '1']; $true22= $_POST["odp_true2$cc". '2']; if($true1==$true11 and $true2==$true22 and $true1=!0 and $true11!=0 and $true2=!0 and $true22!=0) $ppp++; if($true1==$true11 and $true2==0 and $true22==0 and $true11!=0 and $true1!=0) $ppp++; if($true2==$true22 and $true1==0 and $true11==0 and $true22!=0 and $true2!=0) $ppp++; $punkty[$cc]= $ppp; } } for($ww=1; $ww<=$ile_pytan1; $ww++) { $wynik=0; $wynik+=$punkty[$ww]; } ?> </body></html>
Problem polega na tym iż nie wiem dlaczego echo $true1; "na górze" pokazuje dobrą wartość natomiast to poniżej złą. Chodzi mi o sytuacje gdy nie wybierze się żadnej odpowiedzi. Chciałbym aby ktoś mi wyjaśnił z kąd ta różnica i gdzie tkwi błąd, byłbym bardzo wdzięczny
