PHP: problème du refresh avec un formulaire

Résolu/Fermé
oxygenix Messages postés 5 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 30 août 2007 - 10 juil. 2007 à 21:29
oxygenix Messages postés 5 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 30 août 2007 - 10 juil. 2007 à 23:36
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
A voir également:

4 réponses

atomy Messages postés 442 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 11 août 2009 92
10 juil. 2007 à 21:34
Salut,

Avant d'insérer... regarde si elle est déjà là!!
1
oxygenix Messages postés 5 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 30 août 2007
10 juil. 2007 à 22:05
oui, mais je voudrais éviter une requête supplémentaire :)
0
atomy Messages postés 442 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 11 août 2009 92
10 juil. 2007 à 22:59
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:
0
oxygenix Messages postés 5 Date d'inscription mardi 10 juillet 2007 Statut Membre Dernière intervention 30 août 2007
10 juil. 2007 à 23:36
merci. je fais effectivement un header ("location:fin.php?valid=ok") et ça marche :)
0