
Après réception et traitement des données postées via un formulaire avec PHP, si le visiteur rafraîchit accidentellement ou intentionnellement la page, il lui sera demandé “Voulez-vous envoyer à nouveau les mêmes données ?” Une fenêtre d’avertissement peut apparaître. Il existe de nombreuses façons de s’en débarrasser.
Généralement, la méthode préférée consiste à rediriger les données vers une autre page après le traitement. Dans certains cas, vous ne voudrez peut-être pas rediriger vers une autre page ou actualiser la page en PHP. C’est ce que je pense être sain.
Avec l’extrait suivant (en supprimant session_start() s’il a déjà été exécuté), vous pouvez supprimer cet avertissement et empêcher les utilisateurs de publier à nouveau les mêmes données.
session_start();
if( strcasecmp($_SERVER['REQUEST_METHOD'],"POST") === 0) {
$_SESSION['postdata'] = $_POST;
header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']); exit;
}
if( isset($_SESSION['postdata'])) {
$_POST = $_SESSION['postdata'];
unset($_SESSION['postdata']);
}
Yorum Yapın
Yorumlar (0)