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>
Probleme resolu!
ma requete SQL n'a pas eter fermer correctement! ")"