Bonjour, je suis entrain de creez une page d'inscription ou je crypte le mots de passe en sha256 et puis encore une fois je le hash avec une variable random qui s'appele $salt.
tout ceci fonctionnait quand ma page etait faite de la maniere PDO. mais j'ai du re-encoder la page a l'ancienne comme je n’était pas vraiment habituer a la maniere PDO, et donc je reçois un message d'erreur :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

Je suis perdu cela fait 2 jours que je repasse le document de A a Z et je retrouve aucune guillemet manquante ou erreur de requête.
quelqu'un pourrait m’éclaircir sur mon problème svp?
Mon code est le suivant:

<?php ini_set('display_errors', '1'); ?>
<?php 
    require_once(dirname( __FILE__ ).'/connections/dbconnection.php');

    if(!empty($_POST)) 
    { 
        // Ensure that the user fills out fields 
        if(empty($_POST'nom'])) 
        { die("Veuillez entrer votre nom."); } 
        if(empty($_POST'prenom'])) 
        { die("Veuillez entrer votre prénom."); } 
        if(empty($_POST'adresse'])) 
        { die("Veuillez entrer votre adresse."); } 
        if(empty($_POST'telephone'])) 
        { die("Veuillez entrer votre numero de telephone."); } 
        if(empty($_POST'dateDeNaissance'])) 
        { die("Veuillez entrer votre date de naissance."); } 
        if(empty($_POST'pass'])) 
        { die("Veuillez entrer votre mots de passe."); } 
        if(!filter_var($_POST'email'], FILTER_VALIDATE_EMAIL)) 
        { die("L'adresse E-Mail est invalide."); } 

         $nom = mysql_real_escape_string($_POST'nom']);
         $prenom = mysql_real_escape_string($_POST'prenom']);
         $addresse = mysql_real_escape_string($_POST'adresse']);
         $telephone = mysql_real_escape_string($_POST'telephone']);
         $dateDeNaissance = mysql_real_escape_string($_POST'dateDeNaissance']);
         $email = mysql_real_escape_string($_POST'email']);

        // Checker si l'email est deja utilisé
        $sql_email_check = mysql_query("SELECT * FROM utilisateurs WHERE email = '$email'"); 
        $email_check = mysql_num_rows($sql_email_check); 
        if($email_check >= 1){ 
            print("Email existe deja");
        }else{       

        // Security measures
        $salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647)); 
        $pass = hash('sha256', $_POST'pass'] . $salt); 
        $fonction = "Utilisateur";
        for($round = 0; $round < 65536; $round++){ $pass = hash('sha256', $pass . $salt); } 

        // Rajouter les ligne a la base de donnees 
        $query = mysql_query("INSERT INTO utilisateurs (nom, prenom, adresse, telephone, dateDeNaissance,   pass, email, salt, fonction, creerLe) 
            VALUES ( '$nom', '$prenom', '$adresse', '$telephone', '$dateDeNaissance', '$pass', '$email', '$salt', '$fonction', NULL") or die (mysql_error()); 

        header("Location: login.php"); 
        die("Redirecting to login.php"); 
    }
    }

?>

partie html:

<form action="inscription.php" method="post"> 
    <label>nom:</label> 
    <input type="text" name="nom" value="" /> 
    <label>prenom:</label> 
    <input type="text" name="prenom" value="" /> 
    <label>adresse:</label> 
    <input type="text" name="adresse" value="" /> 
    <label>telephone:</label> 
    <input type="text" name="telephone" value="" /> 
    <label>dateDeNaissance:</label> 
    <input type="text" name="dateDeNaissance" value="" />   
    <label>Email:</label> 
    <input type="text" name="email" value="" /> 
    <label>Mots de passe:</label> 
    <input type="password" name="pass" value="" /> <br /><br />
    <input type="submit" class="btn btn-info" value="Register" /> 
</form>

1 réponse


dand91
Auteur
Réponse acceptée

Probleme resolu!

ma requete SQL n'a pas eter fermer correctement! ")"