"We are back" « oc.at

php & radio buttons

WoT 15.06.2004 - 18:38 726 6
Posts

WoT

reloading life...
Avatar
Registered: Feb 2001
Location: Vienna
Posts: 1749
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? :D

schon mal danke im vorraus

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4478
Wenn du im HTML schreibst
Code:
<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:
Code: PHP
<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
Avatar
Registered: Jul 2003
Location: vienna
Posts: 88
mit javascript wäre diese überprüfung meines erachtens etwas sinnvoller, zB:
Code: PHP
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
...
Registered: Aug 2002
Location: #
Posts: 3302
Zitat von unki
javascript (...) sinnvoller

das ist wohl ein widerspruch in sich :D

warum mit clientseitigen krücken behelfen wenn man eine serverseitige überprüfung haben kann?

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4478
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
Avatar
Registered: Nov 2003
Location: /home/tomstig/
Posts: 1341
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
Avatar
Registered: Jul 2003
Location: vienna
Posts: 88
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.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz