Difficulté de creation d'une page de connexion en PHP

- - Dernière réponse : tyranausor
Messages postés
3528
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
8 décembre 2019
- 28 mars 2019 à 11:28
Bonjour,

Je suis en train d'essayer de réaliser une page d'accès membre via un identifiant. J'ai pour cela créé 1 table "membres" (id, nom, pass, email, date_inscription)
une fois le fichier inscription.php
une fois le fichier connexion.php.
j'avais au depart une version avec mysqli, j'ai voulu migrer à PDO.
Pour ce qui est de l'inscription, tout se passe bien. lorsque les champs ne sont pas ou mal remplis il y a un message d'erreur et lorsqu'ils sont bien remplis les données sont bien ajoutées à la table "membres".

En revanche impossible de me connecter. J'ai essayé un tas de choses, cherché sur les forums mais j'y arrive toujours pas. Que le pass soit bon ou pas,on a toujours une page blanche.
s'il vous plait, comment m'y prendre ?
ci-dessous le code source de connexion.

<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=xxxxxx;charset=utf8', 'xxxx', 'xxxxx');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}


if(isset($_POST['pass'])) {
extract($_POST);

// Récupération des 10 derniers messages
$req = $bdd->prepare('SELECT * FROM membres WHERE pass= :pass');

$req->execute(array(

'pass' => $pass));

$resultat = $req->fetch();


// Comparaison du pass envoyé via le formulaire avec la base

$isPasswordCorrect = password_verify($_POST['pass'], $resultat['pass']);


if (!$resultat)

{

echo 'Mauvais identifiant !';

}

else

{

if ($isPasswordCorrect) {

session_start();

$_SESSION['pass'] = $pass;

echo 'Vous êtes connecté !';

}

else {

echo 'Mauvais identifiant!';

}

}
}



?>
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
3528
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
8 décembre 2019
1
1
Merci
Bonjour, quand tu te connectes tu as un pseudo (identifiant ou adresse mail) en plus du mot de passe, ici tu as pas, seulement le mot de passe, c'est une faute ou c'est ton type de connexion que tu défini? Je ne peux pas t'aider pour la résolution du problème car je pense qu'il se situe au niveau du résultat renvoyé par la requête comparé à celui renseigné dans le formulaire (retourné en $_POST). Un petit coup de var_dump() sur tout ça et aussi dans le if (if(!resultat) {...etc ...)

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 200 internautes nous ont dit merci ce mois-ci

limi18
Messages postés
14
Date d'inscription
jeudi 24 février 2011
Statut
Membre
Dernière intervention
28 mars 2019
-
Merci de la réponse @tyranausor. en fait,j'ai choisit de me connecter avec un seul élément (pass). de plus, n'ayant qu'un niveau debutan, je sais ce qu'est var_dump() ni comment ça s'utilise.
merci encore
tyranausor
Messages postés
3528
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
8 décembre 2019
1 -
Var_dump(), comme indiqué dans la doc sur https://www.php.net/manual/fr/function.var-dump.php permet de connaitre le contenu de la variable que tu renseignes en paramètre et également sont type (string, int, ...)
Commenter la réponse de tyranausor