besoin d'aide pour la connexion auto
Posté : 14 janv. 2019, 02:08
SAlut a tous, je suis en train de suivre un cours sur le php et en tp on demande de créer un espace membres avec un bouton connexion automatique? hors la je vois pas comment faire, j'ai fait ca pour l'instant les cookie sont bien créer si les conditions sont respectée mais la connexion automatique ne marche pas
je vous mets mon code
je vous mets mon code
<?php
//demmarage de la cession //demmarage de la cession
// $_SESSION["pseudo"] = $_POST["pseudo"];
// setcookie('pseudo', $_POST["pseudo"], time() + 365*24*3600, null, null, false, true);
// setcookie('password', $_POST["password"], time() + 365*24*3600, null, null, false, true);
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>inscription</title>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css" />
</head>
<body>
<form method="post" action="connexion.php">
<label for="pseudo">Pseudo :</label>
<input type="text" name="pseudo" id="pseudo" value="<?php if (isset($_COOKIE['pseudo'])) { echo htmlspecialchars($_SESSION['pseudo']); } ?>" placeholder="Votre pseudo ici"autofocus><br>
<label for="password">Mot de passe :</label>
<input type="password" name="password" required placeholder="Votre mot de passe"><br>
<label for ="auto_log">Connexion auto :</label>
<input type="checkbox" name="auto_log"><br>
<input type="submit" name="envoyer" value='valider'>
</form>
<?php
try // on verifie la connnection a la bdd
{
$mysql = new PDO("mysql:host=localhost;dbname=espace_membres;charset=utf8", "root", "");
}
catch (Exception $e)
{
die("Erreur : ".$e->GetMessage());
}
// Si le membre a cliquer sur le bouton "Envoyer" du formulaire on peut ensuite après la condition ISSET déclarer nos variables ...
if(isset($_POST['envoyer']))
{
// simplification des variables
// $pseudo = ($_POST["pseudo"]);
// $pass = ($_POST["password"]);
if(isset($_POST["auto_log"])){
setcookie('pseudo', $_POST["pseudo"], time() + 365*24*3600, null, null, false, true);
setcookie('password', $_POST["password"], time() + 365*24*3600, null, null, false, true);
}
//recup pseudo et pass
$req = $mysql->prepare('SELECT id, password FROM membres WHERE pseudo =? ');
$req->execute(array($_POST["pseudo"]));
$resultat =$req->fetch();
//on compare le pass envoyé
$pass_correct = password_verify($_POST["password"], $resultat["password"]);
if (!$resultat)
{
echo 'Erreur sur le mot de passe ou le login';
}
else
{
if($pass_correct)
{
$_SESSION["id"] = $resultat["id"];
$_SESSION["pseudo"] = $_POST["pseudo"];
echo 'bienvenue sur ton espace perso : ' .$_SESSION["pseudo"];
header("Location: espace_membre.php");
//$req->Closecursos();
}
else
{
echo 'mot de passe erroné';
}
}
}
?>
</body>
</html>
Voila si vous avez des idées d'ou est mon erreur ca serait cool