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

KING - 26 mars 2019 à 00:18
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 - 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!';

}

}
}



?>

1 réponse

tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 1
27 mars 2019 à 23:35
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 ...)
1
limi18 Messages postés 14 Date d'inscription jeudi 24 février 2011 Statut Membre Dernière intervention 28 mars 2019
28 mars 2019 à 08:34
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
0
tyranausor Messages postés 3545 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 1 avril 2022 1
Modifié le 28 mars 2019 à 11:44
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, ...)
0
Rejoignez-nous