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

Signaler
-
tyranausor
Messages postés
3544
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 janvier 2020
-
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

Messages postés
3544
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 janvier 2020
1
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 ...)
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
3544
Date d'inscription
jeudi 6 août 2009
Statut
Membre
Dernière intervention
11 janvier 2020
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, ...)