Bonjour, j'ai codé un petit formulaire pour permettre à l'administrateur d'ajouter des gens au site.
J'ai donc hasher le mdp avec la fonction crypt()
Il se rentre bien dans ma BD hashé. Cependant je n'arrive pas à ma connecter avec les comptes. J'ai du me tromper quand j'ai rajouter la condition du hashage dans le code de ma connection. Voici le code :
j'ai essayé de faire de deux façons :
1)
marche pas.
2)
marche pas.
J'ai donc hasher le mdp avec la fonction crypt()
Code:
<FORM Method="POST" Action="">
Prénom : <input type="text" name="pre" size=10 <br></br>
Nom : <input type="text" name="nom" size=20 <br></br>
Date de naissance :<input type="text" name="date" size=20 <br></br>
Login :<input type="text" name="login" size=20 <br></br>
Mdp :<input type="text" name="mdp" size=20 <br></br>
<br></br>
<input type="submit", name="submit" Value="Ajouter">
<?php
include 'fonctions.connect.php';
if ($_POST['pre']!='' && $_POST['nom']!='' && $_POST['date']!=''&& $_POST['login']!=''&& $_POST['mdp']!='')
{
$pre = mysql_real_escape_string($_POST['pre']);
$nom = mysql_real_escape_string($_POST['nom']);
$date = mysql_real_escape_string($_POST['date']);
$login = mysql_real_escape_string($_POST['login']);
$mdp = mysql_real_escape_string($_POST['mdp']);
$hash = (crypt($mdp));
$sql = "INSERT INTO users (prenom,nom,date_naissance,username,password)
VALUES ('$pre','$nom','$date','$login','$hash')";
mysql_query($sql) or die(mysql_error()) ;
}
Il se rentre bien dans ma BD hashé. Cependant je n'arrive pas à ma connecter avec les comptes. J'ai du me tromper quand j'ai rajouter la condition du hashage dans le code de ma connection. Voici le code :
Code:
<?php
include('config2.php');
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
unset($_SESSION['username'], $_SESSION['userid']);
header("location: index.html" );
?>
<?php
}
else
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id,rang from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
$_SESSION['rang'] = $dn['rang'];
if(isset($_SESSION['rang']))
{
if($_SESSION['rang']==1) header('location:index2.php');
else header('location:index3.php');
}
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
echo 'La combinaison n\'est pas bonne.';
}
}
else
{
}
}
?>
j'ai essayé de faire de deux façons :
1)
Code:
$password2 = stripslashes($_POST['password']);
$password = (crypt($password2));
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password2 = $_POST['password'];
$password = (crypt($password2));
marche pas.
2)
Code:
if($dn['password']==(crypt($password)) and mysql_num_rows($req)>0)