Je suis en train d'écrire du code pour insérer des données dans mysql sur la même page d'où je récupère les données par la méthode post. ça fonctionne très bien mais quand je rafraîchis la page il va réinsérer. ma question est que comment arrêter de réexécuter la requête d'insertion sur la page d'actualisationinsérer une requête sur la même page à partir de laquelle les données sont transférées
Répondre
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.
Ajoutez une variable à votre formulaire, puis réinitialisez sa valeur lors de la sauvegarde.
if(isset($_POST['save']))
{ //do your saving
$save="";
}
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.
- 1. Afficher les résultats de mysql sur la même page
- 2. Surveiller la fréquence à laquelle les assemblys sont chargés à partir de GAC
- 3. Envoi de données hiérarchiques à partir de javascript sur une requête POST à plat
- 4. Pour connaître l'heure à laquelle les données POST sont stockées dans une session
- 5. Insérer des insertions dans la même table
- 6. Comment insérer la valeur dérivée de AUTO_INCREMENT dans une autre colonne dans la même requête INSERT?
- 7. Insérer une requête dans Access
- 8. Ouvrir une page dans la même fenêtre de navigateur à partir de l'application winforms
- 9. La requête SingleOrDefault renvoie null (parfois) même si les données sont là
- 10. Comment faire une requête importante sur une page ASP.NET pour une base de données Oracle
- 11. Vérification des cases à cocher dispersées sur la même page
- 12. appeler une fonction sur une page à partir d'un lien sur une autre page
- 13. Jquery Dialogue - Multiple sur la même page
- 14. Un besoin d'obtenir des données à partir d'une table, puis utiliser ces données pour une requête
- 15. Javascript: comment déterminer si un lien cible le même domaine que la page sur laquelle il réside?
- 16. Est-il possible de "multiplexer" plusieurs requêtes AJAX à partir d'une même page?
- 17. Vérification de la date à laquelle une page Web a été mise à jour?
- 18. Insérer des données dans une colonne de deux autres colonnes de la même table
- 19. Insérer une sous-requête dans une requête de sélection
- 20. Comment puis-je accéder à un GridView sur une page à partir d'un contrôle sur une page?
- 21. Déterminez la taille des données transférées pour un appel de service Web dans .NET CF
- 22. Quels sont les 'Gotchas' associés à la virement sur ToList() vers une requête Linq-to-Sql?
- 23. Comment accéder à l'élément .Net sur la page maître à partir d'une page de contenu?
- 24. Accès aux données sur la page à partir de Web Control
- 25. Comment rester dans la même page lors de l'exécution d'une requête Serveur dans un portlet
- 26. jQuery: Utiliser PHP/Ajax, insérer un enregistrement et créer une variable JS à partir de la page PHP
- 27. Insérer dans la base de données oracle
- 28. Commander une requête basée sur un pointage de champ à la même table
- 29. Conserver les données HTTP POST lorsqu'une requête est interrompue par une page de connexion
- 30. Affichage d'une image sur une page Web ASP.NET (3.5) à partir d'une base de données