Ich habe ein Formular, das einen Bereich von Kontrollkästchen und einen anderen Bereich von Optionsfeldern enthält. Ich habe ein ähnliches Problem mit beiden.Problem beim Abrufen von Werten aus Kontrollkästchen oder Optionsfeldern in PHP
Der HTML-Code für den Abschnitt von Kontrollkästchen wie folgt aussieht:
<input type="checkbox" name="activity[]" value="run" id="run" /><label for="run">Run</label>
<input type="checkbox" name="activity[]" value="swim" id="swim" /><label for="swim">Swim</label>
<input type="checkbox" name="activity[]" value="bike" id="bike" /><label for="bike">Bike</label>
Wenn ich das Formular abgesendet haben, die Aktivität Array scheint nicht richtig definiert werden.
Wenn ich die Form verarbeiten, sind markiert, die ersten beiden Kontrollkästchen unter der Annahme, wenn die PHP
$activity = $_POST['activity'];
var_dump($activity);
führt er druckt:
array(2) [0]=> string(0) "" [1]=> string(0) ""
Offensichtlich ist es erfasst wird, dass zwei der drei Boxen sind angekreuzt, aber es passiert nicht die Werte. Wenn der HTML-Code mit dem checked-Attribut für alle Checkboxen beginnt, wird der Checkbox-Wert korrekt gesendet.
In ähnlicher Weise kann ich mit Radiobuttons keinen anderen Wert als den Standardwert erhalten. Wenn der Benutzer den Wert vom Standardwert ändert, ist der Parameter vorhanden, der Wert ist jedoch eine leere Zeichenfolge.
Es ist mein Verständnis, dass das Array die Werte enthalten sollte, die für jedes der Kästchen definiert sind, die angekreuzt wurden, unabhängig davon, ob das Kästchen beim Laden des Formulars angekreuzt wurde. Was mache ich falsch?
Können Sie den HTML-Code Ihres Formulars anzeigen? – lonesomeday
Ja, tut mir leid, nur das behoben. –
Haben Sie etwas wie Firebug/HTTPFox verwendet, um zu sehen, was der Browser aussendet? Es könnte ein clientseitiges Javascript geben, das das Formular ausblendet, oder einige Bibliotheken/Plugins, die dieselbe Server-Seite ausführen. –