Jak zrobić miejsce na wpisanie odpowiedzi


(Mathew) #1

...?


(Mathew) #2

np wysyłając ją do Ciebie na maila, lub mały skrycik php z if ami i else ami


(Szeszek1992) #3

(Hack2020) #4

(Szeszek1992) #5

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;)


(Szeszek1992) #6
<?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.


(Szeszek1992) #7

Myślę że tak. Opisz dokładnie jaki efekt chcesz uzyskać, a ja zmodyfikuję mój skrypt.


(Szeszek1992) #8
<?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].' | ok.png |
'; } else { echo 'Niestety nie podałeś wszystkich dobrych odpowiedzi.

| '.$klucz[1].' | ok.png |
| '.$klucz[1].' | no.png |
'; } } else { echo '

| '.$klucz[1].' | |
| |

'; } ? [/code]

Dodatkowo będą Ci potrzebne dwa obrazki: ok.png i no.png(fajka i gwiazdka).


(Szeszek1992) #9

Nie ma za co;)