Éviter le renvoi répétitif d'un formulaire en rafraîchissant [Résolu]

Signaler
Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016
-
Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016
-
Bonjour,
Je fais à nouveau appel à votre aide je vous en remercie d'avance.
cette fois c'est pour un truc un peu bete dont je n'ai pas fais attention depuis très longtemps car je me disais que ça n'avait pas beaucoup d'importance mais ça à commencer m'agacer.
Mon soucis est la validation de formulaire, je m'explique :
Pour un formulairre quelconque voila le code que j'utilise :

<table cellspacing="1">
                          <tbody>
                            <tr>
                              <td>Nom: </td>
                              <td><input class="input_text_large" type="text" value="" name="nom"></td>
                            </tr>
<tr>
                              <td></td>
                              <td><input id="submit" class="valider" type="submit" name="commit" value=""></td>
                            </tr>
                          </tbody>
</table>

pour la validation (j'ai omis de mettre les autres traitements):

<?php
if(isset($_POST['nom']))      $nom=ucfirst(strtolower($_POST['nom']));
else      $nom="";
if(isset($_POST['commit']) )
{
$sql0 = "SELECT id_nom FROM names WHERE nom='$nom'";	
 $rem = mysql_query($sql0) or die('Erreur SQL !'.$sql0.'<br>'.mysql_error()); 
 $ren = mysql_num_rows($rem);
 if($ren!=0)
  { 
        echo '<font color="red">Désolé, mais ce nom existe déjà dans notre base.</font>'; 
        } 
		else  
        {	
		echo 'Nom  : '.$nom;
		
		}
	}else echo 'erreur';
?>

mon premier problème est que le message 'erreur' est affiché dès que je vais sur la page,
mon deuxième soucis est que quand je rafraichis j'ai le message "Pour afficher cette page, les informations précédemment transmises par Firefox doivent être renvoyées." avec un double envoi des informations.
J"ai parcouru beaucoup de tutos sans trouver une solution qui me convient (je ne veux pas utiliser header-location ni un echo avec un autre formulaire, et pour les sessions peut etre que je n'ai pas bien assimilé les tutos qui en parlent)
Je vous remerci déjà pour avoir pris le temps pour lire ma requete et je vous remercie encore si vous m'aider a trouver la bonne solution.

2 réponses

Messages postés
32983
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
Bonjour.
Pour le premier "soucis" il te suffit de supprimer le message d'erreur dans ton code...

Pour le second problème. .. quand tu rafraichis une page après avoir soumit un formulaire. .. tu as obligatoirement ce message. ...
Donc soit tu passes par la redirection de page (le header) soit tu utilises des variables de session ou GET à la place des POST.
Messages postés
115
Date d'inscription
mardi 9 novembre 2010
Statut
Membre
Dernière intervention
18 mai 2016

Merci jordane pour ta réponse,