Dennis: Formulare mit mehreren radio-Button-Auswahlfeldern

Beitrag lesen

Hi David,

Felix hat dir ja schon einen Tip gegeben - schau dir mal <?php echo print_r($_POST); ?> bzw <?php ehco print_r($_GET); ?> an.

<form>

Da steckt schon mal ein Fehler drin - du solltest die Attribute action und method angeben, also z.B.

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Hast du Montag einen Termin?
   <input type="radio" name="<?php echo "$id";?>">Ja
   <input type="radio" name="<?php echo "$id";?>">Nein
   Hast du Dienstag einen Termin?
   <input type="radio" name="<?php echo "$id";?>">Ja
   <input type="radio" name="<?php echo "$id";?>">Nein
   <input type="radio" name="<?php echo "$id";?>">Vielleicht

Erst mal wieder Stilkorrektur: Schreibe einfach nur <?php echo $id; ?> - die Anführungszeichen um $id sind vollkommen überflüssig und erfordern lediglich weiteren Rechenaufwand von PHP.

Abgesehen davon sehe ich nirgendwo, dass $id verändert wird - es werden also alle Radio-Buttons denselben Namen bekommen, das hat zur Folge, dass man von _allen_ nur _einen_ auswählen kann. Vermutlich willst du aber, dass man sowohl bei Montag als auch Dienstag je einen auswählen kann, deshalb:

Hast du Montag einen Termin?
    <input type="radio" name="mo_<?php echo "$id";?>">Ja
    <input type="radio" name="mo_<?php echo "$id";?>">Nein
    Hast du Dienstag einen Termin?
    <input type="radio" name="di_<?php echo "$id";?>">Ja
    <input type="radio" name="di_<?php echo "$id";?>">Nein
    <input type="radio" name="di_<?php echo "$id";?>">Vielleicht

Also einfach bei den unterschieldichen Tagen einen tages-spezifischen Prefix davorstellen. Damit ist auch sichergestellt, dass der vergebene Name mit einem Buchstaben beginngt - $id wird vermutlich eine Zahl sein, aber namen dürfen nicht mit Zahlen beginnen!

So, machen wir weiter - leichter auszuwerten im PHP-Scirpt wird das ganze, wenn du noch value Werte vergibst:

Hast du Montag einen Termin?
    <input type="radio" name="mo_<?php echo "$id";?>" value="ja">Ja
    <input type="radio" name="mo_<?php echo "$id";?>" value="nein">Nein
    Hast du Dienstag einen Termin?
    <input type="radio" name="di_<?php echo "$id";?>" value="ja">Ja
    <input type="radio" name="di_<?php echo "$id";?>" value="nein">Nein
    <input type="radio" name="di_<?php echo "$id";?>" value="vielleicht">Vielleicht

Was muss ich jetzt für $? eingeben. Ich glaube es würde mit einem Array gehen. Aber ich verstehe nicht wie.

Über $_POST['mo_X'] könntest du darauf zugreifen - wobei X für die entsprechende Zahl steht. Beachte aber bitte, dass du den Wert bevor du ihn in einen SQL-Query packst auf jeden Fall durch mysql_real_escape_string() schickst, andernfalls machst du deine Datenbank zu einem Ziel für Hackangriffe.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Patch zur Verwendung von PATHINFO in JLog
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)