Sorry im Voraus, wenn das ein wirklich dummer Fehler ist, aber ich schätze jegliche Hilfe, die gegeben werden kann.Warum funktioniert meine Post-Methode nicht?
Dies ist der Code, der diese Daten im Formular initialisiert. Sie sind Optionsfelder, die über eine SQL-Datenbank gefüllt werden.
echo "<form method='post' action='home.php'>";
$result = queryMySQL("SELECT Name FROM Quotees");
if ($result->num_rows == 0) {
$error = "<span class='error'>No people can be found</span><br><br>";
} else {
$numrow = $result->num_rows;
for ($count = 1; $count <= $numrow; $count++) {
$row = $result->fetch_array(MYSQLI_ASSOC);
$name = stripslashes($row['Name']);
echo '<input type="radio" name="choice" value="' . $name . '" />' . $name;
echo '<br>';
}
}
Später im Code, den ich versuche, den Wert für den Zugriff auf gepflückt der POST-Methode verwendet wird, wie folgt:
$personPicked = stripslashes($_POST["choice"]);
if ($person === $personPicked) {
//code
} else {
echo "wrong answer";
}
Der Fehler, den ich erhalten ist „Undefined index: Wahl“ auf der Linie, wo die Die POST-Methode wird aufgerufen.
ich senden Sie das Formular mit dem folgenden Code aus der Seite des PHP-Segment als HTML-Code
<div class="confirmButton">
<form action="home.php">
<input type="submit" value="Confirm">
</form>
Vielen Dank für jede Hilfe, die Sie meinen Code geben kann, warum nicht funktioniert/wie kann ich mich über Lösung des Problems.
** Gefahr ** - 'stripslashes' ist nicht zum Schutz von Daten geeignet, die in HTML eingefügt werden sollen! Verwende 'htmlspecialchars'! – Quentin
Können Sie var_dump() $ _POST Array? Wie übermitteln Sie das Formular? – BenRoob
Sie müssen die Daten debuggen, um die Ursache des Problems zu finden. Sehen Sie sich die POST-Anfrage in den Entwicklertools in Ihrem Browser an. Sind die Daten da? Sehen Sie sich den HTML-Code an, den Sie generieren. Ist es richtig? Sind die Werte da? Haben Sie überprüft, dass ein Optionsfeld tatsächlich aktiviert ist? – Quentin