witam
czy może ktoś mi powiedzieć jak mam zrobić coś takiego:
mamy test do nauki i po każdym wejściu na stronę test ma być inny, składa się on z 18tu pytań a każde pytanie 3 odpowiedzi, określony czas itp
wzór umieściłem na www.oskperfekt.com.pl
jest to skrypt ale tylko z jednym testem i teraz chciałbym żeby za każdym razem gdy odświeżam stronę był inny test
to jest kod skryptu
<div class="glowna_ramka_test">
<div class="txt_do_konca"><strong>Czas do końca egzaminu</strong></div>
<div id="zegarek" class="czas">24:53</div>
<div id="numery" class="numery">
<table style="background-color: rgb(211, 211, 211);" align="center" border="0" cellpadding="2" cellspacing="4">
<tbody><tr>
<td style="background-color: black; color: white;" onclick="pytanie(1)" class="numer" id="numer_1" width="30" height="18">1</td>
<td onclick="pytanie(2)" class="numer" id="numer_2" width="30" height="18">2</td>
.
. //i tak dalej do 18tego pytanie
.
<td onclick="pytanie(18)" class="numer" id="numer_18" width="30" height="18">18</td>
</tr>
</tbody></table>
</div>
<div class="biezacy_numer">
<table style="background-color: rgb(211, 211, 211);" align="center" border="0" cellpadding="2" cellspacing="4">
<tbody><tr>
<td class="biezacy_numer" width="30" height="18"><div id="biezacy_numer">1</div></td>
</tr>
</tbody></table>
</div>
<div style="visibility: hidden;" id="sprawdz" class="sprawdz"><img src="index.php_pliki/sprawdz_on.png" onmouseover="this.src='index.php_pliki/sprawdz_off.png'; return true;" onmouseout="this.src='index.php_pliki/sprawdz_on.png'; return true;" style="" onclick="sprawdz();" width="100" height="25"></div>
<div style="visibility: hidden;" id="wstecz" class="wstecz"><img src="index.php_pliki/poprzednie_on.png" onmouseover="this.src='index.php_pliki/poprzednie_off.png'; return true;" onmouseout="this.src='index.php_pliki/poprzednie_on.png'; return true;" style="" onclick="pytanie(-1)" width="100" height="25"></div>
<div id="dalej" class="dalej"><img src="index.php_pliki/nastepne_on.png" onmouseover="this.src='images/nastepne_off.png'; return true;" onmouseout="this.src='index.php_pliki/nastepne_on.png'; return true;" style="" onclick="pytanie(0)" width="100" height="25"></div>
<div id="zakoncz" class="zakoncz"><img src="index.php_pliki/zakoncz_on.png" onmouseover="this.src='images/zakoncz_off.png'; return true;" onmouseout="this.src='index.php_pliki/zakoncz_on.png'; return true;" style="" onclick="zakoncz_test(false);" width="100" height="25"></div>
<div class="fotka"><img src="foto_test/38.jpg" style="border: 1px solid black;" id="zdjecia" width="445" height="305"></div>
<div id="pytanie" class="pytanie">Wjazd na drogę oznaczon± tym znakiem jest:</div>
<div style="background-color: white;" class="odpA" id="divA">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
<tbody><tr>
<td align="center" width="45"><img src="index.php_pliki/a_on.png" id="button_a" onmouseover="this.src='images/a_off.png'; return true;" onmouseout="this.src='images/a_on.png'; return true;" style="" onclick="zaznacz_odp('A', true);" align="absmiddle" border="0" width="40" height="40"></td>
<td><span class="odp" id="odp_a">zabroniony od strony umieszczenia tego znaku,</span></td>
</tr>
</tbody></table>
</div>
<div style="background-color: white;" class="odpB" id="divB">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
<tbody><tr>
<td align="center" width="45"><img src="index.php_pliki/b_on.png" id="button_b" onmouseover="this.src='images/b_off.png'; return true;" onmouseout="this.src='images/b_on.png'; return true;" style="" onclick="zaznacz_odp('B', true);" align="absmiddle" border="0" width="40" height="40"></td>
<td><span class="odp" id="odp_b">dozwolony od strony umieszczenia tego znaku,</span></td>
</tr>
</tbody></table>
</div>
<div style="background-color: white;" class="odpC" id="divC">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
<tbody><tr>
<td align="center" width="45"><img src="index.php_pliki/c_on.png" id="button_c" onmouseover="this.src='images/c_off.png'; return true;" onmouseout="this.src='images/c_on.png'; return true;" style="" onclick="zaznacz_odp('C', true);" align="absmiddle" border="0" width="40" height="40"></td>
<td><span class="odp" id="odp_c">zabroniony z obu stron tej drogi.</span></td>
</tr>
</tbody></table>
</div>
</div>
<script language="JavaScript">
pytania = Array();
odpA = Array();
odpB = Array();
odpC = Array();
poprA = Array();
poprB = Array();
poprC = Array();
obrazki = Array();
udzielonaA = Array();
udzielonaB = Array();
udzielonaC = Array();
var pyt = 1;
var koniec = false;
pytania[1] = 'Wjazd na drogę oznaczon± tym znakiem jest:'; obrazki[1] = '38.jpg';
odpA[1] = 'zabroniony od strony umieszczenia tego znaku,'; odpB[1] = 'dozwolony od strony umieszczenia tego znaku,'; odpC[1] = 'zabroniony z obu stron tej drogi.';
poprA[1] = true; poprB[1] = false; poprC[1] = false;
udzielonaA[1] = false; udzielonaB[1] = false; udzielonaC[1] = false;
.
. // pozostałe pytania
.
pytania[18] = 'Lampki kontrolne informuj±ce w czasie jazdy kierowcę o ważnym problemie technicznym s± barwy:'; obrazki[18] ='482.jpg';
odpA[18] = 'żółtej samochodowej'; odpB[18] = 'zielonej'; odpC[18] = 'czerwonej';
poprA[18] = false; poprB[18] = false; poprC[18] = true;
udzielonaA[18] = false; udzielonaB[18] = false; udzielonaC[18] = false;
function sprawdz() {
udzielonaA[pyt] = poprA[pyt];
udzielonaB[pyt] = poprB[pyt];
udzielonaC[pyt] = poprC[pyt];
pytanie(pyt);
}
function zakoncz_test(silent) {
if(koniec) {
opener.location = 'Próbny test kat.B';
window.close();
}
else if(silent || confirm('Na pewno chcesz zakończyć test ?')) {
koniec = true;
document.getElementById('sprawdz').style.visibility = '';
var blednych = 0;
for(i=1;i<=18;i++) {
if(udzielonaA[i] != poprA[i] || udzielonaB[i] != poprB[i] || udzielonaC[i] != poprC[i]) {
blednych++;
document.getElementById('numer_'+i).style.backgroundColor = 'red';
document.getElementById('numer_'+i).style.color = 'black';
}
}
if(blednych > 2) {
wynik = 'negatywny';
}
else {
wynik = 'pozytywny';
}
pytanie(1);
alert('Błędnych odpowiedzi: '+blednych+'. Wynik '+wynik+'.');
}
}
function pytanie(pytanie) {
if(pytanie == -1) {
pytanie = pyt-1;
}
else if(pytanie == 0) {
pytanie = pyt+1;
}
if(pyt > 0) {
if( (koniec) && (udzielonaA[pyt] != poprA[pyt] || udzielonaB[pyt] != poprB[pyt] || udzielonaC[pyt] != poprC[pyt]) ) {
document.getElementById('numer_'+pyt).style.backgroundColor = 'red';
} else {
document.getElementById('numer_'+pyt).style.backgroundColor = '#D3D3D3';
}
document.getElementById('numer_'+pyt).style.color = 'black';
}
pyt = pytanie;
if(pyt == 1) {
document.getElementById('wstecz').style.visibility = 'hidden';
} else {
document.getElementById('wstecz').style.visibility = '';
}
if(pyt == 18) {
document.getElementById('dalej').style.visibility = 'hidden';
}
else {
document.getElementById('dalej').style.visibility = '';
}
if(obrazki[pytanie] == '') {
document.getElementById('zdjecia').src = 'foto_test/blank.jpg';
} else {
document.getElementById('zdjecia').src = 'foto_test/'+obrazki[pytanie];
}
document.getElementById('pytanie').innerHTML = pytania[pytanie];
document.getElementById('odp_a').innerHTML = odpA[pytanie];
document.getElementById('odp_b').innerHTML = odpB[pytanie];
document.getElementById('odp_c').innerHTML = odpC[pytanie];
zaznacz_odp('A', false);
zaznacz_odp('B', false);
zaznacz_odp('C', false);
document.getElementById('numer_'+pyt).style.backgroundColor = 'black';
document.getElementById('numer_'+pyt).style.color = 'white';
document.getElementById('biezacy_numer').innerHTML = pyt;
}
function zaznacz_odp(nr, change) {
var s = false;
if(change) eval('udzielona'+nr+'['+pyt+'] = !udzielona'+nr+'['+pyt+']');
eval('s = udzielona'+nr+'['+pyt+']');
if(s) {
document.getElementById('div'+nr).style.backgroundColor = '#D3D3D3';
}
else {
document.getElementById('div'+nr).style.backgroundColor = 'white';
}
}
document.getElementById('sprawdz').style.visibility = 'hidden';
pytanie(1);
</script>
<script>
var standardbrowser=!document.all&&!document.getElementById;
var Czas = 1500;
function oki(){
if (!standardbrowser) var clockobj=document.getElementById? document.getElementById("zegarek") : document.all.zegarek
Czas--;
var hours=0;
var minutes=0;
hours = Math.floor(Czas/60);
minutes = Czas % 60;
if (hours.toString().length==1) hours="0"+hours
if (minutes<=9) minutes="0"+minutes
if (!standardbrowser){
clockobj.innerHTML=hours+":"+minutes
}
if(!koniec && Czas <= 0) {
zakoncz_test(true);
}
else if(!koniec) {
setTimeout("oki()",1000);
}
}
</script>
<!-- KONIEC TESTY -->
czy może ktoś mi napisać jak mam tego dokonać? pewnie każdy test ma być zapisany w osobnym pliku i go wczytać? czy ileś tam testów umieścić w kodzie i ze strony ma to wczytywać? proszę o odpowiedz
Z góry zaznaczam że to nie mój skrypt ja się na tym nie znam więc proszę o zmianę
cały kod html można ściągnąć i zobaczyć jak to wygląda w całości albo mogę przesłać wszystko na skrzynkę z góry dziękuję
pozdrawiam