Page 1 sur 1

pbl d'envoi de formulaire

Posté : 12 juin 2006, 17:04
par alaingpl
Bonjour à tous,


Le problème que je n'arrive pas à résoudre est : quand mon formulaire est correctement rempli, la page d'enregistrement s'arrête quand même au message d'erreur de la page d'enregistrement
echo '<font color="red">Attention, tous les champs doivent être renseignés</font>';
Lorsque je la retire, tous va bien. J'ai cherché où est l'erreur mais je n'ai rien trouvé...

Quelqu'un peut - il m'aider ?

Merci d'avance de l'aide

J'ai mon formulaire ci - dessous :
<table width="100%" border="0" cellspacing="10" bgcolor="#6600FF">
  <tr> 
    <TD colspan="2"> <u><h3>S'INSCRIRE</h3></u></TD>
  <tr> 
    <TD colspan="2"> <h4><em>Merci de remplir tous les champs ci - dessous :</em></h4></TD>
  <tr> 
    <form name="inscription" id="form1" method="post" action="inscription/verifinscript.php">
      <TD width="48%%">PSEUDO</TD>
      <TD width="48%"><input name="pseudo" type="text" size="50" maxlength="30" /></TD>
      <tr> 
        <TD width="48%">E.MAIL</TD>
        <TD width="48%"><input name="email" type="text" size="50" maxlength="30" /></TD>
      </tr>
      <tr> 
        <TD width="48%">RETAPEZ VOTRE E.MAIL</TD>
        <TD width="48%"><input name="email2" type="text" size="50" maxlength="30" /></TD>
      </tr>
      <tr> 
        <TD width="48%">VOTRE AGE</TD>
        <TD width="48%"><input name="age" type="text" size="2" maxlength="2" /></TD>
      </tr>
      <tr> 
        <TD width="48%">FORMATION SUIVIE</TD>
        <TD width="48%"><select name="formationsuivie">
            <option value="1"> </option>
            <option value="2"> RESTAURANT</option>
            <option value="3"> CUISINE </option>
            <option value="4"> HÉBERGEMENT </option>
            <option value="5"> BAR </option>
            <option value="6"> SOMMELERIE </option>
            <option value="7"> AUTRES</option>
          </select> </TD>
      </tr>
      <tr> 
        <TD width="48%">NIVEAU DE FORMATION</TD>
        <TD width="48%"><select name="niveauformation">
            <option value="1"></option>
            <option value="1">1ere ann&eacute;e C.A.P.</option>
            <option value="1">2ème ann&eacute;e C.A.P.</option>
            <option value="2">1ere ann&eacute;e BEP</option>
            <option value="3">2&egrave;me ann&eacute;e BEP</option>
            <option value="4">1ere ann&eacute;e BAC Professionnel </option>
            <option value="5">2&egrave;me ann&eacute;e BAC Professionnel</option>
            <option value="6">MENTION COMPL&Eacute;MENTAIRE </option>
            <option value="7">1ere Bac Technologique</option>
            <option value="8">2&egrave;me Bac Technologique</option>
            <option value="9">3&egrave;me Bac Technologique</option>
            <option value="10">MAN B.T.S.</option>
            <option value="11">1ere ann&eacute;e B.T.S.</option>
            <option value="12">2&egrave;me ann&eacute;e B.T.S.</option>
            <option value="13">Autres</option>
          </select> </TD>
      </tr>
      <tr> 
        <TD width="48%">ÉTABLISSEMENT SCOLAIRE</TD>
        <TD width="48%"><input name="lycee" type="text" size="50" maxlength="30" /></TD>
      </tr>
      <tr> 
        <TD width="48%">VILLE</TD>
        <TD width="48%"><input name="ville" type="text" size="50" maxlength="30" /></TD>
      </tr>
      <tr> 
        <TD width="48%">DÉPARTEMENT</TD>
        <TD width="48%"><input name="dpt" type="text" size="8" maxlength="3" /></TD>
      </tr>
      <tr> 
        <TD width="48%">PAYS</TD>
        <TD width="48%"><input name="pays" type="text" size="20" maxlength="30" /></TD>
      </tr>
      <tr> 
        <TD colspan="2"> <div align="center"> 
            <input name="envoie" type="submit" value="Envoyer" />
          </div></form></TD>
      </tr>
</table>
Ci - dessous ma page pour enregistrer dans la bd
<?php 

require('../config.php');
 
// On commence par récupérer les champs 
if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
else      $pseudo="";

if(isset($_POST['email1']))      $email1=$_POST['email1'];
else      $email1="";

if(isset($_POST['email2']))      $email2=$_POST['email2'];
else      $email2="";

if(isset($_POST['age']))      $age=$_POST['age'];
else      $age="";

if(isset($_POST['formationsuivie']))      $formation=$_POST['formationsuivie'];
else      $formation="";

if(isset($_POST['niveauformation']))      $nformation=$_POST['niveauformation'];
else      $nformation="";


if(isset($_POST['lycee']))      $lycee=$_POST['lycee'];
else      $lycee="";

if(isset($_POST['ville']))      $ville=$_POST['ville'];
else      $ville="";

if(isset($_POST['dpt']))      $dpt=$_POST['dpt'];
else      $dpt="";

if(isset($_POST['pays']))      $pays=$_POST['pays'];
else      $pays="";

     
    
 

mysql_connect($localhost,$login,$mot) OR die("Erreur !<br/ >" .mysql_error());  

// On se rend sur notre base de donnée 
mysql_select_db($dbName) OR die("Erreur !<br />" .mysql_error()); 

// On vérifie si les champs sont vides 
if(empty($pseudo) OR empty($email1) OR empty($email2) OR empty($age) OR empty($formation) OR empty($nformation) OR empty($lycee) OR empty($ville) OR empty($dpt) OR empty($pays)) 
    { 
    echo '<font color="red">Attention, tous les champs doivent être renseignés</font>'; 
    } 
	// Aucun champ n'est vide, on peut enregistrer dans la table 
else
    {
    // on écrit la requête sql 
    $sql = "INSERT INTO inscriptions(id, pseudo, email1, email2, age, formation, nformation, lycee, ville, dpt, pays) VALUES('','$pseudo','$email1','$email2','$age','$formation','$nformation','$lycee','$ville','$dpt','$pays')"; 
     
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on affiche le résultat pour le visiteur 
    echo 'Merci de vous êtes inscrit. Accueil'; 

    mysql_close();  // on ferme la connexion 
    }


?>

Posté : 12 juin 2006, 19:44
par Dgse
Bonjour
<?php 
require('../config.php'); 
// On commence par récupérer les champs 
$pseudo = (isset($_POST['pseudo'])) ? $_POST['pseudo'] : "";
$email1 = (isset($_POST['email'])) ? $_POST['email'] : "";
$email2 = (isset($_POST['email2'])) ? $_POST['email2'] : "";
$age = (isset($_POST['age'])) ? $_POST['age'] : "";
$formation = (isset($_POST['formationsuivie'])) ? $_POST['formationsuivie'] : "";
$nformation = (isset($_POST['niveauformation'])) ? $_POST['niveauformation'] : "";
$lycee = (isset($_POST['lycee'])) ? $_POST['lycee'] : "";
$ville = (isset($_POST['ville'])) ? $_POST['ville'] : "";
$dpt = (isset($_POST['dpt'])) ? $_POST['dpt'] : "";
$pays = (isset($_POST['pays'])) ? $_POST['pays'] : "";
// On vérifie si les champs sont vides 
if($pseudo=="" || $email=="" || $email2=="" || $age=="" || $formation=="" || $nformation=="" || $lycee=="" || $ville=="" || $dpt=="" || $pays=="") 
    { 
    echo '<font color="red">Attention, tous les champs doivent être renseignés</font>'; 
    }
// On se rend sur notre base de donnée
// Aucun champ n'est vide, on peut enregistrer dans la table 
else 
    { 
	mysql_connect($localhost,$login,$mot) OR die("Erreur !<br/ >" .mysql_error()); 
	mysql_select_db($dbName) OR die("Erreur !<br />" .mysql_error());
    // on écrit la requête sql 
	$sql = "INSERT INTO inscriptions(id, pseudo, email, email2, age, formation, nformation, lycee, ville, dpt, pays) VALUES('','$pseudo','$email','$email2','$age','$formation','$nformation','$lycee','$ville','$dpt','$pays')"; 
    // on insère les informations du formulaire dans la table 
	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    // on affiche le résultat pour le visiteur 
    echo 'Merci de vous êtes inscrit. Accueil'; 
	mysql_close();  // on ferme la connexion 
    }
?>
J'ai modifie ton test, pour info il fonctionne correctement , juste que tu as mis un champ "mail" dans ton formulaire et tu test sur "mail1"

@+ Dgse