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!';
}
}
}
?>
merci Aurelien pour ta reponse. j'ai essayé d'enlever le cryptage du mdp et tout ce que j'ai comme affichage est "Mauvais identifiant !"... que l'expression saisie soit dans la BD ou non.
bonjour Aurelien et desolé de ma reponse tardive. en fait, je n'ai pas changé le code de ma page de connexion puisq'elle ne fait pas d'INSERT. j'ai juste veillé à ne pas avoir de hachage de MDP dans la BD lors de la creation de l'utilisateur.et ça se fait avec le code suivant
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=xxxxxxx;charset=utf8', 'xxxxxx', 'xxxxxx');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO membre(pass, nomExp, mail) VALUES(?, ?, ?)');
$req->execute(array($_POST['pass'], $_POST['nomExp'], $_POST['mail']));
echo 'enregistrement est effectué';
// Redirection du visiteur vers la page d'accueil
header('Location: ../Pages/contact.html');
?>
et le code de connexion reste le precedent.
merci encore .
Difficulté de creation d'une page de connexion en
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP