Bonjour voilà j'utilise un formulaire d'inscription sur mon site mais j'ai un problème dérangeant, sur ma page de traitement la première condition (si les variables sont vides) ne passe pas alors du coup dans mon else je renvois avec un header et la méthode get les infos qui ont été saisie et quand on regarde bien L’URL, toutes les variables sont remplis. Je vous appel donc au secours.
Voici le code du formulaire :
<form method="post" action="connexion/registre.php">
<fieldset>
<legend>Informations personnelles</legend>
<label for="nom">Nom</label>
<input type="text" name="nom" id="nom" <?php if(isset($_GET'nom'])) echo 'value="'. $_GET"nom"]. '"'; ?> required />
<label for="prenom">Prénom</label>
<input type="text" name="prenom" id="prenom" <?php if(isset($_GET'prenom'])) echo 'value="'. $_GET"prenom"].'"'; ?> required/>
<label for="date">Date de naissance</label>
<input type="date" name="date" id="date" <?php if(isset($_GET'date'])) echo 'value="'. $_GET"date"].'"'; ?> required/>
<label for="tel">Téléphone</label>
<input type="text" name="tel" id="tel" <?php if(isset($_GET'tel'])) echo 'value="'. $_GET"tel"].'"'; ?> required/>
<label for="email">E-mail</label>
<input type="text" name="email" id="email" <?php if(isset($_GET'email'])) echo 'value="'. $_GET"email"].'"'; ?> required />
</fieldset>
<fieldset>
<legend>Connexion</legend>
<label for="pass1">Mot de passe</label>
<input type="password" name="pass1" id="pass1" <?php if(isset($_GET'pass1'])) echo 'value="'. $_GET"pass1"].'"'; ?>required>
<label for="pass2">Confirmation</label>
<input type="password" name="pass2" id="pass2" onkeyup="checkPass(); return false;" <?php if(isset($_GET'pass2'])) echo 'value="'. $_GET"pass2"].'"'; ?> required>
</fieldset>
<fieldset>
<legend>Facturation</legend>
<label for="pays">Pays</label>
<select name="pays" id="pays">
<option value="FR" selected>France</option>
<option value="AL">Albania</option>
<option value="AD">Andorra</option>
<option value="AT">Austria</option>
<option value="BY">Belarus</option>
<option value="BE">Belgium</option>
<option value="BA">Bosnia-Herzegovina</option>
<option value="BG">Bulgaria</option>
<option value="CZ">Czech, Rep.</option>
<option value="HR">Croatia</option>
<option value="DK">Denmark</option>
<option value="EE">Estonia</option>
<option value="CE">Finland</option>
<option value="DE">Germany</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece</option>
<option value="HU">Hungary</option>
<option value="IE">Ireland</option>
<option value="IS">Iceland</option>
<option value="IT">Italy</option>
<option value="LV">Latvia</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania</option>
<option value="LU">Luxembourg</option>
<option value="MK">Macedonia</option>
<option value="MT">Malta</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="NO">Norway</option>
<option value="NL">Netherlands</option>
<option value="PL">Poland</option>
<option value="PT">Portugal</option>
<option value="RO">Romania</option>
<option value="RU">Russia</option>
<option value="SM">San Marino</option>
<option value="SK">Slovakia</option>
<option value="SI">Slovenia</option>
<option value="ES">Spain</option>
<option value="SE">Sweden</option>
<option value="CH">Switzerland</option>
<option value="TR">Turkey</option>
<option value="TS">Tunisia</option>
<option value="UK">United Kingdom</option>
<option value="UA">Ukraine</option>
<option value="VA">Vatican City</option>
<option value="YU">Yugoslavia</option>
</select>
<label for="adresse">Adresse</label>
<input type="text" name="adresse" id="adresse" <?php if(isset($_GET'adresse'])) echo 'value="'. $_GET"adresse"].'"'; ?> required/>
<label for="codep">Code postal</label>
<input type="text" name="codep" id="codep" <?php if(isset($_GET'codep'])) echo 'value="'. $_GET"codep"].'"'; ?> required/>
<label for="ville">Ville</label>
<input type="text" name="ville" id="ville" <?php if(isset($_GET'ville'])) echo 'value="'. $_GET"ville"].'"'; ?> required/>
<button type="submit" name="envoyer">Envoyer</button>
</fieldset>
</form>
Le code de traitement :
<?php
if(isset($_POST'nom']) && isset($_POST'prenom']) && isset($_POST'email']) && isset($_POST'$pass1']) && isset($_POST'pass2']) && isset($_POST'date']) && isset($_POST'tel']) && isset($_POST'adresse']) && isset($_POST'pays']) && isset($$_POST'codep']) && isset($_POST'ville']))
{
$nom = mysql_real_escape_string(trim($_POST'nom']));
$prenom = mysql_real_escape_string(trim($_POST'prenom']));
$email= htmlspecialchars(trim($_POST'email']));
$pass1= mysql_real_escape_string(trim($_POST'pass1']));
$pass2= mysql_real_escape_string(trim($_POST'pass2']));
$date = mysql_real_escape_string(trim($_POST'date']));
$tel= mysql_real_escape_string(trim($_POST'tel']));
$pays= mysql_real_escape_string(trim($_POST'pays']));
$adresse = mysql_real_escape_string(trim($_POST'adresse']));
$codep=mysql_real_escape_string(trim($_POST'codep']));
$ville= mysql_real_escape_string(trim($_POST'ville']));
require "../inc/config.php";
//require "../../inclusions/config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
mysql_query ('SET NAMES "UTF8"');
$sql = 'Select email from membres where email="'.$email.'"';
$req = mysql_query($sql);
if(mysql_num_rows($req)>0)
{
header('location:../inscription.php?erreur=4&nom='.$_POST"nom"].'&pass1='.$_POST"pass1"].'&pass2='.$_POST"pass2"].'&date='.$_POST"date"].'&prenom='.$_POST"prenom"].'&adresse='.$_POST"adresse"].'&codep='.$_POST"codep"].'&tel='.$_POST"tel"].'&pays='.$_POST"pays"].'&email='.$_POST"email"].'&ville='.$_POST"ville"]);
}
else
{
$mdp = strcmp($pass1, $pass2);
if($mdp == 0)
{
$msgT = 'Merci de vous êtes inscrit sur le site Yamaël \n Voici vos infomations de connexion : \n
identifiant : '.$email.'\n Mot de passe : '.$pass1.'\n Cordialement.';
$sjt = "Inscription";
$entete="X-Priority:1\n";
$msg=" ";
$msg.="Ce mail a été envoyer via le site Yamaël.com :\n";
$msg.=" ";
$msg.="Sujet : ".$sjt."\n";
$msg.="Message : ".$msgT."\n";
$msg.=" ";
mail($email,$sjt,$msg,$entete);
$pass1 = sha1($_POST'pass1']);
$sql = "insert into membres(id, nom, prenom, date, tel, email, pass1, pays, adresse, codep, ville) values('null', '".$nom."', '".$prenom."','".$date."','".$tel."','".$email."','".$pass1."','".$pays."','".$adresse."','".$codep."','".$ville."')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br/>'.mysql_error());
mysql_close();
header('location:../inscription.php?erreur=2');
}
else
{
header('location:../inscription.php?erreur=3&nom='.$_POST"nom"].'&pass1='.$_POST"pass1"].'&pass2='.$_POST"pass2"].'&date='.$_POST"date"].'&prenom='.$_POST"prenom"].'&adresse='.$_POST"adresse"].'&codep='.$_POST"codep"].'&tel='.$_POST"tel"].'&pays='.$_POST"pays"].'&email='.$_POST"email"].'&ville='.$_POST"ville"]);
}
}
}
else //Si les varriables sont vides
{
header('location:../inscription.php?erreur=5&nom='.$_POST"nom"].'&pass1='.$_POST"pass1"].'&pass2='.$_POST"pass2"].'&date='.$_POST"date"].'&prenom='.$_POST"prenom"].'&adresse='.$_POST"adresse"].'&codep='.$_POST"codep"].'&tel='.$_POST"tel"].'&pays='.$_POST"pays"].'&email='.$_POST"email"].'&ville='.$_POST"ville"]);
}
?>
Voilà donc des le début la condition if(isset($_POST'nom... ne passe pas j'ai tester avec !empty également, j'ai bien chercher je ne trouve pas je vais faire une dépression à force de chercher =(
Voilà si quelqu'un peut me sauver la vie et trouver pourquoi les données ne passent pas, merci d'avance.
Bonjour,
utiles plutot !empty, car tes variables $_POST sont obligatoirement défini (isset).
Regardes tes variables, tu as des fautes. Il y a un $_POST'$pass1'] => $_POST'pass1']
$$_POST'codep'] => $_POST'codep']