Halten Sie text in Textfeld nach submit
Ich Baue eine form, und ich möchte, dass alle eingefügten Werte gehalten werden, im Falle des form submit scheitern. Das ist mein code:
<?php
$error = "";
$name = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
//Verify $_POST['name'] greater than 4 chars
if ( strlen($name) < 4 ){
$error= 'Name too short!';
}
}
?>
<html>
<head>
</head>
<body>
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" name="myForm" id="idForm">
<input type="text" placeholder="Name" id="name" name="name" value=""/>
<input type="submit" value="submit"/>
</form>
<?php
echo "<h2>Input:</h2>";
echo $name;
if($error) {
//No Update AND refresh page with $name in text field
echo "<br/>" . $error;
} else {
//Update name in DB
}
?>
</body>
</html>
Möchte ich, dass name-Feld hält den eingefügten text eingeben, nach dem senden. Ich habe versucht mit php-code in input-Wert, der aber nicht funktioniert. Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst. Dies ist die Lösung, die ich suchte.
Ich fügte hinzu, in-Wert-tag die folgende Eingabe:
Daher Eingabefeld Aussehen würde:
Dank für Eure Antworten, hat mir geholfen.
Können Sie einfach echo $_POST['name'] in das value-Attribut des input.
Achten Sie darauf, dass die POST-Werte zu vermeiden XSS.
Ich habe auch die update-DB-Funktion, so brauchen Sie nicht, um zu zeigen, das Formular an den Benutzer, wenn die Namen länger sind die 4 chars!
Wenn Sie möchten, um alle Werte/Eingänge für die weitere Verwendung könnte man erreichen, dass mit php-session-Werte.
Außerdem - sollten Sie mittels $_SERVER['SCRIPT_NAME'] anstelle von $_SERVER['PHP_SELF']
Mars