Un problème dans mon code..

Résolu/Fermé
Xervas Messages postés 5 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 9 février 2014 - Modifié par green day le 9/02/2014 à 12:44
 Utilisateur anonyme - 9 févr. 2014 à 15:05
Bonjour,
j'ai passé la journée à essayer de coder un formulaire d'inscription pour mon site et quand je pensais enfin avoir fini et corrigé toutes les erreurs il s'avère en fait qu'il ne se passe rien.
Quand je click sur Enregistrer aucune erreur n'apparait et la base de donnée est toujours vide.
Je dois avouer que je suis un peu perdu là.
Je vous fait une copie de mon code.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="CSS/Style.css" />
<link rel="shortcut icon" href="favicon.ico" >
<style type="text/css">
</style>
<title>Shop & Drive</title>
</head>



<body>
<?php include("menu.php"); ?>

<b>* ! SA MARCHE PAS ! *</b>

<div id="FormInscription">
<form name="Inscription" method="post" action="Inscription.php">
<table>
<tr>
<td><label for="Nom">Nom :</label><br><br></td>
<td><input type="text" name="Nom" id="Nom" autofocus/><br><br></td>
</tr>
<tr>
<td><label for="Prenom">Prenom :</label><br><br></td>
<td><input type="text" name="Prenom" id="Prenom" /><br><br></td>
</tr>
<tr>
<td><label for="Email">Adresse email :</label><br><br></td>
<td><input type="email" name="Email" id="Email" /><br><br></td>
</tr>
<tr>
<td><label for="MDP">Mot de passe :</label><br><br></td>
<td><input type="password" name="MDP" id="MDP" /><br><br></td>
</tr>
<tr>
<td><label for="ConfMDP">Confirmation mot de passe :</label><br><br></td>
<td><input type="password" name="ConfMDP" id="ConfMDP" /><br><br></td>
</tr>
<tr>
<td><label for="Telephonne">Numéro de téléphonne :</label><br><br></td>
<td><input type="number" name="Telephonne" id="Telephonne" /><br><br></td>
</tr>

</table>
<input type="submit" name="valider" value="s'enregistrer">
</form>
</div>

<?php

// Connexion à la BDD.
mysql_connect("sql.free.fr ", "***", "***") or die (mysql_error());
mysql_select_db("***");

//Variables
$error = FALSE;
$registerOK = FALSE;


if(isset($_POST["Valider"]))
{
if($_POST["Nom"] == NULL OR $_POST["Prenom"] == NULL OR $_POST["Email"] == NULL OR $_POST["MDP"] == NULL OR $_POST["ConfMDP"] == NULL OR $_POST["Telephonne"] == NULL)
{
$error = TRUE;
$errorMSG = "Tout les champs doivent être remplis !";
}

elseif($_POST["MDP"] == $_POST["ConfMDP"])
{
// Vérification si l'email existe déjà
$sql = "SELECT Email FROM Client WHERE Email = '".$_POST["Email"]."' ";
$sql = mysql_query($sql);
$sql = mysql_num_rows($sql);

if($sql == 0)
{
if(strlen($_POST["MDP"] < 50))
{
if(strlen($_POST["Email"] < 60))
{
$sql = "INSERT INTO Client (Email,MDP) VALUES ('".$_POST["Email"]."','".$_POST["MDP"]."')";
$sql = mysql_query($sql);

if($sql)
{
$registerOK = TRUE;
$registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";

$_SESSION["Email"] = $_POST["Email"];
$_SESSION["MDP"] = $_POST["MDP"];


}

// Error
else{

$error = TRUE;

$errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";

}

}


else
{

$error = TRUE;

$errorMSG = "Votre adresse email ne doit pas dépasser <strong>50 caractères</strong> !";

$Email = NULL;

$MDP = $_POST["MDP"];

}




}

else{

$error = TRUE;

$errorMSG = "Votre mot de passe ne doit pas dépasser <strong>50 caractères</strong> !";

$Email = $_POST["Email"];

$MDP = NULL;

}
}

else{

$error = TRUE;

$errorMSG = "L'adresse email <strong>".$_POST["Email"]."</strong> est déjà utilisé !";

$Email = NULL;

$MDP = $_POST["pass"];

}





}

elseif($_POST["MDP"] != $_POST["ConfMDP"])
{

$error = TRUE;

$errorMSG = "Les deux mots de passes sont différents !";

$Email = $_POST["Email"];

$MDP = NULL;

}



}

mysql_close(***);

if($error == TRUE)
{
echo "<p align='center' style='color:red;'>".$errorMSG."</p>";
}

if($registerOK == TRUE)
{
echo "<p align='center' style='color:green;'><strong>".$registerMSG."</strong></p>";
}

?>


</html>
A voir également:

5 réponses

Gros détail :

<input type="submit" name="valider"
mais tu testes
if(isset($_POST["Valider"]))

'Valider' avec un V majuscule, ce n'est pas la même chose que 'valider' avec un v minuscule
1
Xervas Messages postés 5 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 9 février 2014
Modifié par green day le 9/02/2014 à 12:44
Je pense qu'il y a un problème au niveau de la connexion à la base de donnée. J'ai tapé ça :
<?php
mysql_connect("sql.free.fr", "***", "***");
mysql_select_db("***");
// lancement de la requete
$req=mysql_query("SELECT * FROM Client");
while($donnees = mysql_fetch_array($req))
echo $donnees;


?>
Et encore une fois rien ne se passe.
0
Bonsoir

Pour l'instant, ta table Client est vide, normal que ça n'affiche rien. Mais ta connexion a l'air bonne. De plus, $donnees étant un tableau, faire echo $donnees; ne te donnera pas grand chose. il faut faire echo $donnees['Nom']; par exemple.
0
Utilisateur anonyme
8 févr. 2014 à 23:20
Encore un problème :
if(strlen($_POST["MDP"] < 50))

Regarde bien où tu as mis tes parenthèses. tu t'est trompé. Idem pour Email. Il fallait :
if(strlen($_POST["MDP"]) < 50)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Xervas Messages postés 5 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 9 février 2014
9 févr. 2014 à 13:52
Merci bien tout fonctionne, c'était juste le Valider qui causait problème.
0
Utilisateur anonyme
9 févr. 2014 à 15:05
Non, il n'y avait pas que le valider. Les autres points que je t'ai signalés posaient aussi un problème.
D'ailleurs, tu vas en avoir d'autres quand tu utiliseras tes tables qui ne sont pas en utf-8 avec un site en utf-8
0