Espace membres en PHP

Petit nouveau ! | 8 Messages

28 août 2018, 13:12

Bonjour, je n'arrive pas à me connecter avec mon email & mon mot de passe.

J'ai le message suivant : Mauvais identifiant ou mot de passe.

Je me suis relus & je ne vois pas d'ou viens l'erreur.

Une petite aide serait la bienvenue.

Merci d'avance.

PAGE INSCRIPTION :

<?php

try
{
$bdd = new PDO('mysql:host=127.0.0.1;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

if(isset($_POST['forminscription']))
{
$pseudo = htmlspecialchars($_POST['pseudo']);
$pass = htmlspecialchars($_POST['pass']);
$pass2 = htmlspecialchars($_POST['pass2']);
$pass_hache = password_hash($_POST['pass'], PASSWORD_DEFAULT);
$email = htmlspecialchars($_POST['email']);

if(!empty($_POST['pseudo']) AND !empty($_POST['pass']) AND !empty($_POST['pass2']) AND !empty($_POST['email']))
{
$pseudolength = strlen($pseudo);
if($pseudolength >7)
{
$reqpseudo = $bdd->prepare('SELECT * FROM membres WHERE pseudo = ?');
$reqpseudo->execute(array($pseudo));
$pseudoexist = $reqpseudo->rowCount();
if($pseudoexist == 0)
{
if($pass == $pass2)
{
if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']))
{
$reqmail = $bdd->prepare('SELECT * FROM membres WHERE email = ?');
$reqmail->execute(array($email));
$mailexist = $reqmail->rowCount();
if($mailexist == 0)
{
$insertmbr = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription)
VALUES(?, ?, ?, NOW())');
$insertmbr->execute(array($pseudo, $pass_hache, $email));

$erreur = 'Votre compte a bien été créé ! <a href="connexion.php">Me connecter</a>';
}
else
{
$erreur = "C'est email est déjà pris !";
}
}
else
{
$erreur = "Cette adresse mail n'est pas valide !";
}
}
else
{
$erreur = 'Les mots de passes ne sont pas identiques !';
}
}
else
{
$erreur = 'Ce pseudo est déjà pris !';
}
}
else
{
$erreur = 'Le pseudo doit contenir minimum 7 caractères !';
}
}
else
{
$erreur = 'Tous les champs doivent être remplis !';
}
}

?>

<!DOCTYPE html>

<html lang="fr">
<head>
<meta charset="utf-8">
<title>Inscription</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="screen">
</head>

<body>
<div id="wrapper">
<form method="POST" action="">
<fieldset>
<legend>Formulaire d'inscription</legend>
<label for="pseudo">Pseudo</label><br>
<input type="text" name="pseudo" id="pseudo" placeholder="Tapez votre pseudo" autofocus
value="<?php if(isset($pseudo)) { echo $pseudo; } ?>"><br><br>
<div></div>

<label for="pass">Mot de passe</label><br>
<input type="password" name="pass" id="pass" placeholder="Tapez votre mot de passe"><br><br>
<div></div>

<label for="pass2">Confirmez votre mot de passe</label><br>
<input type="password" name="pass2" id="pass2" placeholder="Retapez votre mot de passe"><br><br>
<div></div>

<label for="email">Adresse mail</label><br>
<input type="email" name="email" id="email" placeholder="Tapez votre adresse mail"
value="<?php if(isset($email)) { echo $email; } ?>"><br><br>
<div></div>

<input type="reset" value="Reset" class="button">
<input type="submit" name="forminscription" value="Je m'inscris" class="button">
</fieldset>
</form>

<div style="color: #8b0000;"><?php if(isset($erreur)) { echo $erreur; } ?></div>
</div>
</body>
</html>

PAGE DE CONNEXION :

<?php

session_start();

try
{
$bdd = new PDO('mysql:host=127.0.0.1;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}

if(isset($_POST['formconnexion']))
{
$mailconnect = htmlspecialchars($_POST['mailconnect']);
$passconnect = htmlspecialchars($_POST['passconnect']);
$pass_hache = password_hash($_POST['passconnect'], PASSWORD_DEFAULT);

if(!empty($_POST['mailconnect']) AND !empty($_POST['passconnect']))
{
$requser = $bdd->prepare('SELECT * FROM membres WHERE email = ? AND pass = ?');
$requser->execute(array($mailconnect, $passconnect));
$userexist = $requser->rowCount();
if($userexist == 1)
{
$userinfo = $requser->fetch();
$_SESSION['id'] = $userinfo['id'];
$_SESSION['pseudo'] = $userinfo['pseudo'];
$_SESSION['email'] = $userinfo['email'];
header('Location: profil.php?id='.$_SESSION['id']);
}
else
{
$erreur = 'Mauvais mail ou mot de passe !';
}
}
else
{
$erreur = 'Tous les champs doivent être remplis !';
}
}

?>

<!DOCTYPE html>

<html lang="fr">
<head>
<meta charset="utf-8">
<title>Inscription</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="screen">
</head>

<body>
<div id="wrapper">
<form method="POST" action="">
<fieldset>
<legend>Connexion</legend>
<label for="email">Mail</label><br>
<input type="email" name="mailconnect" id="email" placeholder="Tapez votre mail" autofocus>
<br><br>
<div></div>

<label for="pass">Password</label><br>
<input type="password" name="passconnect" id="pass" placeholder="Tapez votre mot de passe">
<br><br>
<div></div>

<input type="reset" value="Reset" class="button">
<input type="submit" name="formconnexion" value="Se connecter !" class="button">
</fieldset>
</form>

<div style="color: #8b0000;"><?php if(isset($erreur)) { echo $erreur; } ?></div>
</div>
</body>
</html>

Mammouth du PHP | 2703 Messages

28 août 2018, 14:56

$passconnect = htmlspecialchars($_POST['passconnect']);
$pass_hache = password_hash($_POST['passconnect'], PASSWORD_DEFAULT);

$requser->execute(array($mailconnect, $passconnect));

qu'est-ce qui est sauvé dans la table ?