php & radio buttons
WoT 15.06.2004 - 18:38 726 6
WoT
reloading life...
|
ich bin derzeit beim fertigstellen eines fragebogens der in php gecodet ist und jetzt fehlt mir irgendwie noch die möglichkeit das man die fragen nicht unbeantwortet überspringen kann... anders formuliert, es ist nicht mehr möglich fragen aus zu lassen. aber jetzt möchte ich schon das alle anderen radio buttons die auf der seite schon gestzt waren wieder ausgewählt sind. versteht ihr mich?  schon mal danke im vorraus
|
Rektal
Here to stay
|
Wenn du im HTML schreibst <label>
<input type="radio" name="frage1" value="antwort1">
Antwort 1
</label>
bekommst du in PHP in $_REQUEST['frage'] den Wert "antwort1", d.h. wenn du die Seite nochmal ausgibst, baust du eine Abfrage ein, die je nach dem den Radio-Button selektiert oder nicht: <label>
<input type="radio" name="frage1" value="antwort1"
<?php echo @$_REQUEST['frage1'] == 'antwort1' ? "checked : ""; ?>
>
Antwort1
</label>
Natuerlich schreibt man das nicht mit der Hand fuer jede Frage/Antwort hin. Man legt sich ein schoen strukturiertes Array/Hash an, das man mit foreach einfach iteriert und so alles automatisiert ausgibt.
Bearbeitet von Rektal am 15.06.2004, 19:47 (// hoe, der highlight code bugt )
|
unki
Little Overclocker
|
mit javascript wäre diese überprüfung meines erachtens etwas sinnvoller, zB: function prufe(){
var info = false;
for(i=0; i<3; i++){ //3=Anzahl der Antworten
if(document.question.antwort[i].checked == true){
info = true;
}
}
if(!info){
alert("Sie müssen eine Antwort anklicken");
return false;
}
}
HTML: <form action = "xyz.php" method = "GET/POST" name = "question" onSubmit ="return prufe();"> . . . <input type = "radio" name = "antwort">Ja</b> <input... <input...
|
DKCH
Administrator ...
|
javascript (...) sinnvoller das ist wohl ein widerspruch in sich  warum mit clientseitigen krücken behelfen wenn man eine serverseitige überprüfung haben kann?
|
Rektal
Here to stay
|
JavaScript ist nicht sinnvoller, aber sinnvoll. Natuerlich erhoeht es die Useability, wenn der Benutzer sofort Feedback bekommt, dass er noch nicht alle Radiobuttons ausgewaehlt hat.
Aber auf derartigem Client-Seitiges verhalten zu "vertrauen", dass ist nicht sinnvoll. Javascript disabled und Peng, deine Logik in der Programmierung hat vermutlich einen nicht bedachten Zustand erreicht.
Nur Serverseitiger validierung kannst du vertrauen, NIE Clientseitig. Diese ist "praktisch" und ein guter "Benefit [tm]", aber nicht vertrauenswuerdig.
|
tomstig
OC Addicted
|
mhh, schon mal an clientseitig+serverseitig gedacht? ich mach das immer: zuerst checken mit javascript ob alles passt, und dann auf der nächsten seite mit php...
|
unki
Little Overclocker
|
was ein wort auslösen kann, aber danke für das feedback, ich persönlich würde auch sowohl client- als auch serverseitig überprüfen, es kann zumindest traffic ersparen und doppelt hält besser.
|