wie unset post-array?
jedes mal, wenn ich die Seite aktualisieren und ich bekomme die gleiche Wert gespeichert, in dem post-array.
ich möchte die Ausführung der echo-Anweisung nur nach dem senden und nach dem aktualisieren kein echo Ergebnisse..
<?php
if(isset($_POST['submit']))
{
$name = $_POST['name'];
echo "User name : <b> $name </b>";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="name"><br>
<input type="submit" name="submit" value="Submit Form"><br>
</form>
- verwenden Sie unset($_POST['Wert']);
- Dieser Beitrag wird Ihnen helfen stackoverflow.com/questions/11765144/...
- Das ist, was man sich erwartet. Wenn Sie aktualisieren eine Geschrieben form, dann wird es das tun. Allerdings, wenn Sie möchten die Daten angezeigt, die nur einmal pro Einreichen, können Sie speichern eine session-variable und führen Sie eine überprüfung auf die.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ein Formular Absenden, und aktualisieren Sie dann die resultierende Seite, der browser wird re-post-form (in der Regel aufgefordert, zuerst). Das ist, warum die POST-Daten ist immer vorhanden.
Eine option wäre, um zu speichern eine session-variable und die haben es geschickt in die form, dann prüfen Sie, ob es übereinstimmungen in der form processing-code zu ermitteln, ob es ein re-post ist oder nicht.
In der form:
In der PHP:
Weitere Möglichkeit ist die Umleitung nach der Verarbeitung der post-Daten:
isset()
um zu verhindern, dass dieNotice
. Die option session ist besser als der redirect denn man kann nicht alles drucken, bevor eine Umleitung.Aus, nur eine form, Sie werden nicht in der Lage zu überprüfen, wenn es ein refresh, oder ein erstes Einreichen, unabhängig von der Verwendung von GET-oder POST-Methode.
Gewährleisten eine einzelne Nachricht, die Sie benötigen, um:
ein. leiten Sie den Benutzer, um woanders nach der Verarbeitung der Anfrage.
Und die Nachricht anzeigen, die auf der anderen URL.
b. ein cookie /session-variable, die Ihnen sagt, dass das Formular bereits bearbeitet wurde.
Diesem zweiten Ansatz wird, töten Sie Ihre form, bis der Benutzer den browser schließt, so sollten Sie etwas mehr Komplex, wie die Speicherung ein weiteres verstecktes Feld in das Formular, und speichern, in der Sitzung.
Müssen Sie einen Staat zu erhalten, ob
$name
bereits angezeigt wird oder nicht. Der einfachste Weg ist wahrscheinlich zu behaupten, dass der Staat in einem browser-cookie.Probleme
nonce
cookie in ein array von nonces, und aktualisieren Sie Sie entsprechend.wenn Sie möchten, aktualisieren der Seite nach dem submit verwenden
sicher, ob Sie Ihre form noch nicht viele Daten und auch müssen, verwenden Sie $_GET statt $_POST variable:)
der richtige Weg für Sie, aber diese Logik ist nicht gut, Notwendigkeit zur Umgestaltung dieses Skript: