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

Résolu
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016 - 21 juin 2014 à 00:26
alone06 Messages postés 115 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 18 mai 2016 - 21 juin 2014 à 03:27
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
21 juin 2014 à 01:30
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.
1