Matěj Andrle: Kdybys OS napsal tak, aby to rovnou pracovalo s xml, mohl jsi ted googlu natrhnout zadek.
Příspěvky odeslané z IP adresy 2001:718:2601:26c:a058:7a...–
"takovej kod co si mi tu poslal bych nikdy asi nevymyslel"
? V podstate je to tvuj kod. Jen otazky mam pres cyklus. Ty lomitka na konci radku tam musi byt protoze javascript.
ja ma 2 pole, indexove { } a ciselne [ ], php to vede oboji jako array nebo ma taky class pro objekty.
input = {name: 'jmeno', id: 'idecko', value: 'tlacitko', type:'button'};
<input type="button" name="jmeno" id="idecko" value="tlacitko">
si tam muzes dat
alert(str);
form.innerHTML = str;
1. error_reporting
@ini_set('error_reporting', E_ALL|E_STRICT);
@ini_set("display_errors", "1");
error_reporting(E_ALL|E_STRICT);
2. echo pouzivat jenom na konci, ostatni do promennych
3. Pokud se chces bavit o konkretnim kodu, pak sem musis dat vse, co je treba pro nasimulovani kodu. Ne kazdy si chybejici casti muze chtit dopisovat a tak ti treba neodpovi.
4. Vyhybat se js alert hlaskam jako prompt. Moderni prohlizece dost ruzna vyskakovaci okna blokuji, hlasky jsou mezi nimi. Zvlast proto, ze hlasky blokuji zbytek stranky do odkliknuti.
5. Do session nedavat dlouhy obsah. Session se prenasi s kazdym klikem.
6. Potrebujes to resit v php? Co kdyby jsi to resil cele javascriptem. Pri nacteni stranky si do js vytahnes odpovedi a pak uz je to cele js problem. Pokud ti nevadi, ze zkusenejsi uzivatel si prohlidne kod stranky a odpovedi precte. Ale muzes je treba sifrovat.
7. input type radio, podle jakpsatweb.cz se sdruzuje podle stejneho jmena (coz jsou naproste zaklady html)
name = "otazka[0]"> a
name = "otazka[0]"> b
name = "otazka[0]"> c
name = "otazka[1]"> a
name = "otazka[1]"> b
name = "otazka[1]"> c
8. vypis postu/getu/$row mas lepsi pomoci print_r (pripadne i s echo '<pre>').
9.
<form id=xxx></form>
<script>
var form, data;
data = [
{qst:'111',ans:['aaa','bbb','ccc'],true_ans:[0]},
{qst:'222',ans:['aaa','bbb','ccc'],true_ans:[2]}
];
form = document.getElementById('xxx');
function vypis1(n,data)
{
var i,str;
str = '\
\n<div class="qb">\
\n <div class="q">'+data[n].qst+'<\/div>\
';
for (i=0;i<data[n].ans.length;++i)
{
str += '\n <div class="a"><label><input type="radio" name="ans['+n+']" value="'+i+'"\/>'+i+'. '+data[n].ans[i]+'<\/label><\/div>';
}
str += '\
\n <div class="b"><input type="button" value="Test" onclick="vypis2('+n+',data,this)"\/><\/div>\
\n<\/div>\
';
return str;
}
function vypis2(n,data,obj)
{
var i,str,ans;
str = '\
\n <div class="q">'+data[n].qst+'<\/div>\
';
ans = data[n].true_ans[0];
for (i=0;i<data[n].ans.length;++i)
{
str += '\n <div class="a"><label><input type="radio" name="ans['+n+']" value="'+i+'"\/>'+i+'. '+data[n].ans[i]+'<\/label> '+(ans==i?'Spravna odpoved':'')+'<\/div>';
}
str += '\
\n <div class="b"><input type="button" value="Test" onclick="vypis2('+n+',data,this)"\/><\/div>\
';
if (obj!=null) {obj.parentNode.parentNode.innerHTML = str;}
return str;
}
function vypis1_vse(form,data)
{
var i,str;
str = '';
for (i=0;i<data.length;++i)
{
str += vypis1(i,data)
}
form.innerHTML = str;
}
vypis1_vse(form,data);
</script>