radiobutton wert speichern und wieder anzeigen
mandy
- php
0 small step0 Henning0 molily0 mandy
hallo ihr,
ich habe ein formular, dessen werte per php abgeprüft werden. beim absenden des formulars ruft es sich selbst per $PHP_SELF wieder auf und überprüft die eingaben. bei fehlern werden die fehlermeldungen am anfang der seite angezeigt.
nun mein problem(chen): ich habe 2 radiobuttons, wovon einer ausgewählt werden muss. wie kann ich die auswahl speichern und beim absenden des formulars die auswahl angeklickt erscheinen lassen? ist mir bisher noch nicht gelungen.
ich denke, dass man irgendwie abprüfen muss, welcher wert den wert "checked" übergibt, oder?
die html-zeilen:
<input type="radio" name="mitglied" value="mitglied25" checked>...
<input type="radio" name="mitglied" value="mitglied13">
ich hoffe, ihr könnt mir helfen!
mandy
Hallöchen ;-)
nun mein problem(chen): ich habe 2 radiobuttons, wovon einer ausgewählt werden muss. wie kann ich die auswahl speichern und beim absenden des formulars die auswahl angeklickt erscheinen lassen? ist mir bisher noch nicht gelungen.
ich denke, dass man irgendwie abprüfen muss, welcher wert den wert "checked" übergibt, oder?
die html-zeilen:
<input type="radio" name="mitglied" value="mitglied25" checked>...
<input type="radio" name="mitglied" value="mitglied13">
versuch es mal damit:
<input type="radio" name="mitglied" value="mitglied25" <? if($mitglied == mitglied25){echo "checked";} ?>>
oder hab ich das falsch verstanden? viel glück!
small
Hallo,
bei Radiobuttons ist in der Variablen ($mitglied) die value-Eigenschaft des ausgewählten Elements gespeichert (Mitglied 25, Mitglied 13).
Jetzt wirst du wohl if-Abfragen machen müssen.
if($mitglied == "mitglied25")
{
echo "<input type="radio" name="mitglied" value="mitglied25" checked>";
echo "<input type="radio" name="mitglied" value="mitglied13">";
}
else
{
echo "<input type="radio" name="mitglied" value="mitglied25">";
echo "<input type="radio" name="mitglied" value="mitglied13" checked>";
}
Ich hoffe ich konnte helfen.
Henning
Hallo, mandy,
nun mein problem(chen): ich habe 2 radiobuttons, wovon einer ausgewählt werden muss. wie kann ich die auswahl speichern und beim absenden des formulars die auswahl angeklickt erscheinen lassen? ist mir bisher noch nicht gelungen.
ich denke, dass man irgendwie abprüfen muss, welcher wert den wert "checked" übergibt, oder?
Ja. Dazu kannst du eine bedingte Anweisung benutzen (logisch, oder?).
Die naheliegendste Lösung wäre etwas wie:
<input type="radio" name="mitglied" value="mitglied25"<?php if ($_POST['mitglied']=='mitglied25') echo(' checked="checked"); ?>>...
<input type="radio" name="mitglied" value="mitglied13"<?php if ($_POST['mitglied']=='mitglied13') echo(' checked="checked"); ?>>
Hier wird davon ausgegangen, dass die Formulardaten mittels POSt übermittelt wurden. Dies sollte im Übrigen nur aufgerufen werden, wenn die HTTP-Methode tatsächlich POST ist und die Werte überhaupt gesetzt sind, ansonsten müsstest du je zusätzlich zuerst auf isset($_POST['mitglied']) prüfen, aber diese Fehlerbehandlung muss sowieso irgendwo in deinem Script auftauchen, am besten natürlich am Anfang, wo die Fehler bemängelt werden. Nebenbei, ich finde es besser, den Fehler direkt neben dem Eingabefeld "anzustreichen".
Der Einfachheit halber könntest du auch mit einem "Trinitätsoperator" arbeiten, siehe http://de.php.net/manual/de/language.operators.comparison.php, erzeugt aber IMHO unlesbaren Code, ich verwende lieber ordentlich strukturierte if-Anweisungen, vor allem wenn jemand den Code später noch einmal lesen und verstehen soll.
Grüße,
Mathias
vielen dank für die tipps!!
habt mir sehr geholfen!!
viele grüße!
mandy