…?
np wysyłając ją do Ciebie na maila, lub mały skrycik php z if ami i else ami
JavaScript ma o tyle taką wadę, że w każdej chwili możesz podejrzeć odpowiedzi w źródle;)
Jeśli ten test ma znajdować się na serwerze obsługującym PHP, mogę ci napisać test w tym języku(nie ma możliwości podejrzenia odpowiedzi;)
<?php
$odpowiedz[1][1]='Pytanie1';
$odpowiedz[2][1]='Pytanie2';
$odpowiedz[3][1]='Pytanie3';
$odpowiedz[4][1]='Pytanie4';
$odpowiedz[5][1]='Pytanie5';
$odpowiedz[6][1]='Pytanie6';
$odpowiedz[7][1]='Pytanie7';
$odpowiedz[8][1]='Pytanie8';
$odpowiedz[9][1]='Pytanie9';
$odpowiedz[10][1]='Pytanie10';
$odpowiedz[1][2]='';
$odpowiedz[2][2]='';
$odpowiedz[3][2]='';
$odpowiedz[4][2]='';
$odpowiedz[5][2]='';
$odpowiedz[6][2]='';
$odpowiedz[7][2]='';
$odpowiedz[8][2]='';
$odpowiedz[9][2]='';
$odpowiedz[10][2]='';
$odpowiedz[1][3]='odp1';
$odpowiedz[2][3]='odp2';
$odpowiedz[3][3]='odp3';
$odpowiedz[4][3]='odp4';
$odpowiedz[5][3]='odp5';
$odpowiedz[6][3]='odp6';
$odpowiedz[7][3]='odp7';
$odpowiedz[8][3]='odp8';
$odpowiedz[9][3]='odp9';
$odpowiedz[10][3]='odp10';
if(isset($_POST['poletekstowe1']))
{
$l=1;
foreach($odpowiedz as $klucz)
{
$nazwapola='poletekstowe'.$l;
if(isset($_POST[$nazwapola])) $odpowiedz[$l][2]=$_POST[$nazwapola];
$l++;
}
$liczbaprawidlowych=0;
foreach($odpowiedz as $klucz)
{
if($klucz[2]===$klucz[3])
{
$liczbaprawidlowych++;
}
}
if($liczbaprawidlowych==count($odpowiedz))
echo 'Podałeś wszystkie dobre odpowiedzi';
else echo 'Niestety nie podałeś wszystkich dobrych odpowiedzi.';
}
else
{
echo '';
$l=1;
foreach($odpowiedz as $klucz)
{
$nazwapola='poletekstowe'.$l;
echo ''.$klucz[1].'
';
$l++;
}
echo '';
}
?>
Nie zrobiłem żadnego formatowania tekstu. Kod umieść w pliku index.php(lub innym, ale zmień wtedy adres w form action).
No i mała instrukcja obsługi:
Wszystko opiera się na tablicy $odpowiedz. Jest to tablica, w której:
$odpowiedz[x][1] - jest to pytanie wyświetlane w polu tekstowym,
$odpowiedz[x][2] - jest to element tablicy odpowiedzialny za przechowywanie odpowiedzi użytkownika
$odpowiedz[x][3] - jest to element tablicy z prawidłowymi odpowiedziami,
gdzie x - jest numerem pytania.
Myślę że tak. Opisz dokładnie jaki efekt chcesz uzyskać, a ja zmodyfikuję mój skrypt.
<?php
$odpowiedz[1][1]='Pytanie1';
$odpowiedz[2][1]='Pytanie2';
$odpowiedz[3][1]='Pytanie3';
$odpowiedz[4][1]='Pytanie4';
$odpowiedz[5][1]='Pytanie5';
$odpowiedz[6][1]='Pytanie6';
$odpowiedz[7][1]='Pytanie7';
$odpowiedz[8][1]='Pytanie8';
$odpowiedz[9][1]='Pytanie9';
$odpowiedz[10][1]='Pytanie10';
$odpowiedz[1][2]='';
$odpowiedz[2][2]='';
$odpowiedz[3][2]='';
$odpowiedz[4][2]='';
$odpowiedz[5][2]='';
$odpowiedz[6][2]='';
$odpowiedz[7][2]='';
$odpowiedz[8][2]='';
$odpowiedz[9][2]='';
$odpowiedz[10][2]='';
$odpowiedz[1][3]='odp1';
$odpowiedz[2][3]='odp2';
$odpowiedz[3][3]='odp3';
$odpowiedz[4][3]='odp4';
$odpowiedz[5][3]='odp5';
$odpowiedz[6][3]='odp6';
$odpowiedz[7][3]='odp7';
$odpowiedz[8][3]='odp8';
$odpowiedz[9][3]='odp9';
$odpowiedz[10][3]='odp10';
if(isset($_POST['poletekstowe1']))
{
$l=1;
foreach($odpowiedz as $klucz)
{
$nazwapola='poletekstowe'.$l;
if(isset($_POST[$nazwapola])) $odpowiedz[$l][2]=$_POST[$nazwapola];
$l++;
}
$liczbaprawidlowych=0;
$tab='';
$l=1;
foreach($odpowiedz as $klucz)
{
if($klucz[2]===$klucz[3])
{
$liczbaprawidlowych++;
$tab[$l]=true;
}
else $tab[$l]=false;
$l++;
}
if($liczbaprawidlowych==count($odpowiedz))
{
echo 'Podałeś wszystkie dobre odpowiedzi
| ‘.$klucz[1].’ | |
'; } else { echo 'Niestety nie podałeś wszystkich dobrych odpowiedzi.
| ‘.$klucz[1].’ | |
| ‘.$klucz[1].’ | |
'; } } else { echo ’
| ‘.$klucz[1].’ | |
| |
'; } ? [/code]
Dodatkowo będą Ci potrzebne dwa obrazki: ok.png i no.png(fajka i gwiazdka).
Nie ma za co;)