Vous n'êtes pas identifié(e).
Pages : 1
Je vien de modifier mon cod en utilisant pdo:
<?php
session_start();
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=bd_principale', 'root', '', $pdo_options);
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT login, nom, prenom, ville, pwd FROM bd_principale WHERE login = '".addslashes($login)."'";
$req = $bdd->query($sql) or die(mysql_error().'<br />'.$sql);
// On vérifie que l'utilisateur existe bien
if ($req->rowCount() > 0)
{
$data = $req->fetch();
// On vérifie que son mot de passe est correct
if ($password == $data['pwd'])
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['login'] = $data['login'];
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
Ca fonctionne egalement.
Comment securiser un peu plus ce code ?
Merci
J'ai modifier mon code et le nouveau me donne ca. Je vais faire le test avec pdo oui je mettrai le resultat ensuite.
Qu'entend tu par :
En outre, évite ce code de feignasse
Code: php
extract($_POST); // je vous renvoie à la doc de cette fonction
<?php
session_start();
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('bd_principale',$db);
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT login, nom, prenom, ville, pwd FROM bd_principale WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die(mysql_error().'<br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['pwd'])
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['login'] = $data['login'];
$_SESSION['nom'] = $data['nom'];
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>
Merci pour ton bout de code en tout cas ca ma bien aider !!!!
j'ai un problème avec ce script alors qu'apparemment il devrait fonctionner :
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT login, pwd FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($password == $data['mdp']) {
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK) {
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
j'obtiens cette erreur :
Erreur SQL :
SELECT login, pwd FROM bd_principale WHERE login = 'dfgsdg'
j'ai un doute sur ma bd :s
je ne comprends également pas où se fait la connexion a ma bd
Je débute en php alors un peu d'indulgence ;p
Pages : 1