Rechercher : dans
Par :

PHP: problème du refresh avec un formulaire

Dernière réponse le 10 jui 2007 à 23:36:31 oxygenix, le 10 jui 2007 à 21:29:28 
 Signaler ce message aux modérateurs

Bonjour, j'ai un code (en simplifié qui donne a peu près ceci) :

if ($_POST['valid']) {
$result = mysql_query("insert into table (nom) values ($_POST['nom'])");
}
else
echo "<form ACTION=\"".$_SERVER['PHP_SELF']."\" ENCTYPE=\"x-www-form-encoded\" METHOD=POST>";
echo "<input type=text name=\"nom\">;
echo "<input type=\"submit\" name=\"valid\">";
echo "</FORM>";

Problème, lorsque je presse sur clic sur refresh, j'ai à nouveau un insert dans ma base.

Auriez-vous une solution élégante pour éviter ceci ?

Je sais qu'on peux utiliser les sessions mais je n'aimerais pas trop les utiliser.

Merci

Phil

Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « PHP: problème du refresh avec un formulaire » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Formulaires en ligne - Les champs de saisie VoirQuelles données saisir ? Comment dois-je saisir l'information L'organisation des champs de saisie Séparer les champs de saisie L'organisation des champs et des titres La longueur des champs Quelles données saisir ? Sur la plupart des...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

atomy, le 10 jui 2007 à 21:34:16
  • +1

Salut,

Avant d'insérer... regarde si elle est déjà là!!
Allez, ciao!!!

Répondre à atomy

2

oxygenix, le 10 jui 2007 à 22:05:00

Oui, mais je voudrais éviter une requête supplémentaire :)

Répondre à oxygenix

3

atomy, le 10 jui 2007 à 22:59:54

Salut,

Il y a peut-être un autre moyen... celui d'effacer les traces de tes données, en rechargeant la page....

Je ne me souviens plus bien... mais fais une recherche sur les headers... Location:
Allez, ciao!!!

Répondre à atomy

4

 oxygenix, le 10 jui 2007 à 23:36:31

Merci. je fais effectivement un header ("location:fin.php?valid=ok") et ça marche :)

Répondre à oxygenix
Collection CommentÇaMarche.net