Problème de connexion

Fermé
shegy93 Messages postés 2 Date d'inscription samedi 28 mai 2016 Statut Membre Dernière intervention 28 mai 2016 - Modifié par jordane45 le 31/05/2016 à 00:43
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 31 mai 2016 à 00:47
Bonjour j'ai un problème avec mon code ci-dessous à chaque fois que j'essaie de me connecte même avec les bon identifiants il m'affiche mauvaise identifiant ou mot de passe . j'ai aussi de faire un SELECT * FROM profil WHERE login = :login AND password = :password'); mais sa ne marche pas

<?php 
try
    {
      //$connect = new PDO('mysql:host='.$hostname.';dbname='.$database, $username, $password, $pdo_options);
       $connect = new PDO('pgsql:host=localhost;port=5432;dbname=projetweb;user=postgres;password=root');
        //echo 'connexion ok';
    }
    catch (PDOException $e)
    {
      exit('problème de connexion à la base');
    }    
// Vérification des identifiants
$req = $connect->prepare('SELECT codeprof FROM profil WHERE login = :login AND password = :password');
$req->execute(array(
    'login' => $login,
    'password' => $password));
$resultat = $req->fetch();
if (!$resultat)
{
   echo 'Mauvais identifiant ou mot de passe !';
}
else
{
    session_start();
    $_SESSION['codeprof'] = $resultat['codeprof'];
    $_SESSION['login'] = $login;
    echo 'Vous êtes connecté !';
}





EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


vraiment besoin d'aide
cordialement

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
31 mai 2016 à 00:47
Bonjour,

Tout comme pour ton autre discussion... place le code de connexion à la BDD dans un fichier à part.
(voir ici : https://forums.commentcamarche.net/forum/affich-33558449-probleme-de-connexion-2#2)

Ensuite,
Place l'exécution de ta requête dans un bloc TRY/CATCH
Et affiche donc le contenu de tes variables pour voir si elles sont bonnes.

Pour finir, testes la requête DIRECTEMENT dans ta BDD pour voir si elle te retourne le résultat escompté....

// Vérification des identifiants
$sql = 'SELECT codeprof FROM profil WHERE login = :login AND password = :password';
$datas = array(':login' => $login,   ':password' => $password);

//------------------------------------------------------------------------//
// le temps des tests (affichage des variables):
echo "<br> REQUETE = ".$sql;
echo "<br> DATAS :<pre>";
print_r($datas);
echo "</pre>";
//------------------------------------------------------------------------//

try{
  $req = $connect->prepare($sql);
  $req->execute($datas);
  $resultat = $req->fetch();
}catch(Exception $e){
  echo " Erreur ! ".$e->getMessage();
}




N'oublie pas non plus de faire un
 error_reporting(E_ALL);
au début de tes scripts PHP pour afficher les erreurs php.


0