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