2009-06-05 8 views

Répondre

1

Ceci est provoqué par les données POST envoyées à nouveau lorsque vous actualisez. Votre navigateur devrait vous avertir qu'il le fait. Si vous n'obtenez pas cet avertissement, vous utilisez peut-être GET au lieu de POST, ce qui n'est pas une bonne idée pour les actions qui modifient ou insèrent des données.

Vérifiez votre formulaire a cet attribut:

<form method="post"> 

Si vous voulez éviter complètement, juste rediriger le navigateur après que le message de retour.

<?php 
if ($_POST) { 
    // insert into database 
    header("location: thisPage.php"); 
    // don't bother with die() here 
} 

Puisque la redirection n'est pas utilisé à des fins de sécurité, et vous êtes juste rediriger à la même page, il est pas vraiment nécessaire de die() après.

0

Ajoutez une variable à votre formulaire, puis réinitialisez sa valeur lors de la sauvegarde.

if(isset($_POST['save'])) 
{ //do your saving 
    $save="";  
} 
1

Vous souhaitez probablement utiliser le Post-Redirect-Get pattern pour résoudre cette situation. Il est bon que vous utilisiez POST pour envoyer des données à votre serveur. Après avoir effectué les modifications nécessaires, redirigez votre utilisateur vers la page que vous voulez qu'il voie, avec un simple en-tête de redirection. Cela ne cassera pas le bouton de retour, et un clic sur lui ramènera l'utilisateur au formulaire, sans envoyer les données à nouveau.

Questions connexes