Je me prend la tête depuis un petit moment avec mon formulaire d'inscription. et j'apprécierais beaucoup un petit coup de pouce ! merci d'avance
ma situation :
j'ai fait un formulaire pour l'inscription des visiteurs -> membres. Ce formulaire comprends, pour l'instant, 3 champs : pseudo, mdp (<=> password) et passions.
J'ai fait une page qui traite les données envoyées par ce formulaire et qui entre ces données dans ma table "membres".
le souci :
quand un visiteur remplit tous les champs (donc les 3 champs), les données des champs 'pseudo' et 'mdp' sont enregistrées dans la table mais pas celles du champs 'passions' qui restent désespérément avec la valeur 0.
Je vous met mes codes :
Celui de mon formulaire
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>formulaire_inscription</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<link rel="stylesheet" href="../tech/style1.css" />
</head>
<body>
<?php include("../pages/entete.php"); ?>
<?php include("../pages/cadre_gauche.php"); ?>
<?php include("../pages/cadre_droite.php"); ?>
<?php include("../pages/menu_top.php"); ?>
<div id="corps">
<h1>INSCRIPTION</h1>
<p>
<form method="post" action="formulaire_inscription_traitement.php">
<p>
<label for="pseudo">Votre pseudo</label> : <input type="text" name="pseudo" id="pseudo" />
<br />
<label for="mdp">Votre mot de passe :</label> <input type="password" name="mdp" id="mdp" />
<br />
<label for="passions">Vos passions</label> : <input type="text" name="passions" id="passions" />
<br />
<input type="submit" value="Envoyer" />
</p>
</form>
</p>
</div>
<?php include("../pages/pdp.php"); ?>
</body>
</html>
Celui de ma page de traitement :
<?php
// On commence par récupérer les champs
if(isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else $pseudo="";
if(isset($_POST['mdp'])) $mdp=$_POST['mdp'];
else $mdp="";
if(isset($_POST['passions'])) $passions=$_POST['passions'];
else $passions="";
// On vérifie si les champs pseudo et mdp sont vides
if(empty($pseudo) OR empty($mdp))
{
echo '<font color="red">Attention, tous les champs avec une asterisque doivent être remplis!<br /><a href="../tech/formulaire_inscription.php">Réessayez !</a></font>';
exit;
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('gv2',$db) or die('Erreur de selection '.mysql_error());
// on regarde si le pseudo existe déjà
$sql = "SELECT id FROM membres WHERE pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res!=0) // le pseudo existe déjà, on affiche un message d'erreur
{
echo '<font color="red">Désolé, mais ce pseudo existe déjà dans notre base.<br /><a href="../tech/formulaire_inscription.php">Réessayez !</a></font>';
exit;
}
else // le pseudo n'existe pas, on insère les informations du formulaire dans la table
// on écrit la requête sql
$sql = "INSERT INTO membres(id, pseudo, mdp, passions) VALUES('','$pseudo','$mdp', '$passions')";
// 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 'Vos infos on été ajoutées.';
}
?>
<p><a href="../pages/accueil.php">retour à la page d'accueil</a></p>
Quand je fais une inscription, il n y'a aucun message d'erreur. sauf que quand je vérifie dans ma base de données, le champs 'passions' contient '0' même si j'ai tapé quelque chose dans la case 'passions' du formulaire. J'y comprends rien ! Merci d'avance à tous celles/ceux qui prendront la peine de me répondre et bonne jouréne !