J'ai une forme PHP simple, comme ceci:
<?php if(isset($_POST['myform'])) // email... else // display form
4 Réponses :
Effectuer une redirection Une fois que les données sont insérées sur une page de confirmation (peut être effectuée avec en-tête () A >, qui devrait effacer les données post et permettre de rafraîchir sans dupliquer le contenu. P>
Vous devez effectuer une redirection sur une page avec un message que les données ont été insérées ... et un bouton arrière pour accéder à nouveau au formulaire (si vous voulez) ...
Pour rediriger avec PHP code> Utilisez le
en-tête code>
fonction: p>
Ceci est par la voie appelée POST-Redirect-get motif .
Merci. Mais maintenant, j'ai un autre problème :) J'ai ajouté Header ('emplacement: http://www.example.com/?formsent=1'); code>, et je vérifie
$ $ _GET ['Formssent'] Code> Pour afficher un message de réussite. Le problème est que si je rafraîchis la page, je reçois le même message de réussite :)
Et le problème est? ... Je ne vois pas cela comme un problème, car il ne manipule aucune donnée sur la DB.
Parfois, les réponses les plus simples sont les meilleures car la plupart des gens dont moi-même ont tendance à surmonter des questions compliquées. Merci!
Dans le cas de l'utilisateur ayant un décalage et il frappe le bouton Soumettre à quelques reprises, puis utilisez le mécanisme latéral client, utilisez JS pour définir le bouton Soumettre pour désactiver une fois que vous cliquez dessus. Mais devra afficher un message disant à peu près quelque chose comme: "Envoi de message ... Si aucune réponse ne rechargne la page et réessayer". P>
session_start(); if (!$_SESSION['REQUEST_TYPE_USER_ID'] == $_POST) { //your code //after the success process $_SESSION['REQUEST_TYPE_USER_ID'] = $_POST; } else { // request duplicated }
S'il vous plaît donner une explication quant à ce qui se passe dans le code. Le dumping de code est fronçonné ici.