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

alone06 115 Messages postés mardi 9 novembre 2010Date d'inscription 18 mai 2016 Dernière intervention - 21 juin 2014 à 00:26 - Dernière réponse : alone06 115 Messages postés mardi 9 novembre 2010Date d'inscription 18 mai 2016 Dernière intervention
- 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.
Afficher la suite 

2 réponses

Répondre au sujet
jordane45 20570 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 avril 2018 Dernière intervention - 21 juin 2014 à 01:30
0
Utile
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.
Commenter la réponse de jordane45
alone06 115 Messages postés mardi 9 novembre 2010Date d'inscription 18 mai 2016 Dernière intervention - 21 juin 2014 à 03:27
0
Utile
Merci jordane pour ta réponse,
Commenter la réponse de alone06

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.