Witam serdecznie. Potrzebuje skryptu php ktory bedzie zapisywal mi wartosc wybranego check boxa. (Pytanie + odp w postaci checkboxow) Gdy uzytkownik zaznaczy checkbox nr.1 w pliku powinna pojawic sie wartosc "1" gdy nr2. wartosc "2" itd. do "4" nastepne pytanie i znow 4 checkboxy skrypt powinien dopisac kolejna wartosc do pliku oddzielajac poprzednia takim znakiem "|" Czy ktos potrafi mi pomoc w napisaniu czegos takiego???
Tablice!
Przyklad:
Kim byl Kopernik?
<input type="checkbox" name="question_1[]" value="1" /> Piratem
<input type="checkbox" name="question_1[]" value="2" /> Strazakiem
...
Ile jest 2+2?
<input type="checkbox" name="question_2[]" value="1" /> 5
<input type="checkbox" name="question_2[]" value="2" /> 2
....
Teraz w skrypcie PHP:
```php
$max_q = 2; // ilosc pytan
for ($i = 1; $i <= $max_q; $i++)
{
$a = $_POST['question_' . $i]; // tablica z odpowiedziami
}
Zakladamy, ze moze byc kilka odpowiedzi prawidlowych w quizie. Tak to mniej wiecej wyglada, z reszta powinienes sobie poradzic.
A jak zapisać w pliku wybor uzytkownika w formie. p1|odp|pyt2|odp| itd. ?
Chyba napisalem to zbyt skomplikowanie powoli zaczale cos tworzyc o to pierwsze efekty
</head>
<body>
<form action="pokaz.php" method="GET">
Imię: <input type=text name="i"/><br/>
Nazwisko: <input type=text name="n"/><br/><br/>
<?
$plik_pytan="pytania.txt";
if ($dane=fopen($plik_pytan, "r"))
{
$nr_pyt=0;
while(!feof($dane))
{
$linia=fgets($dane);
if(ereg("^[a-z0-9]",$linia))
{
$pytanie[$nr_pyt] = split("\|",$linia,6);
#echo $pytanie[$nr_pyt][5]."_____ ";
$nr_pyt++;
}
}
}
for ($n=0; $pytanie[$n]; $n++)
{ #echo $n;
//PONIZEJ HTML!!! ?>
<HR><? echo $pytanie[$n][1]; ?><br/>
<input type=radio name=<? echo "odp".$n; ?> value="<? echo $pytanie[$n][2]; ?>"/>Coca-cola<br>
<input type=radio name=<? echo "odp".$n; ?> value="<? echo $pytanie[$n][3]; ?>"/>Fanta<br>
<input type=radio name=<? echo "odp".$n; ?> value="<? echo $pytanie[$n][4]; ?>"/>Sprite<br>
prawdiłowa odpowiedz: <? echo $pytanie[$n][5]; ?> (tego tu niebedzie... :P)
<?
}//KONIEC HTML'u
?>
<HR><BR><input type=submit value="Zakoncz test"/>
</form>
</body>
PLIK z pytaniami wyglada w ten sposób:
###plik pytań
#1|co Wybierasz?|a|b|c|literka_poprawnej
#
1|co Wybierasz?|aaaaaha:p|beee :]|ce!!|b
2|what??|nothing|everything|bicycle|c
Teraz pytanie jak zrobic aby wynik testu byl zapisywany do pliku w formie imie_nazwisko.txt a w zawartosci: nr.pytania|odp1|nr2.pyt|odp2 itd.
Nie przygladalem sie twojemu listingowi. Ale jezeli patrzac na moj, to ponownie tablice! Podpowi
$max_q = 2; // ilosc pytan
for ($i = 1; $i <= $max_q; $i++)
{
// $i = nr pytania
echo $i . '|' . implode(',' $_POST['question_' . $i]); // tablica z odpowiedziami
}
Ok zapis opanowany :) teraz pozostaje kwestia porównania odp. uzytkownika z poprawnymi odp. i wyswietlenie chociazby jakiej statystyki w procentach