Menu

Cookie ne s'enregistre pas [Résolu]

- - Dernière réponse :  valentin - 11 oct. 2018 à 20:33
bonjour,
je ne comprend pas pourquoi mes cookie ne s'enregistre pas : voila mon code :
<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$pseudo = htmlspecialchars($_POST['pseudo']);
$passe =htmlspecialchars($_POST['pass']);

//  Récupération de l'utilisateur et de son pass hashé
$req = $bdd->prepare('SELECT id, pass FROM membre WHERE pseudo = :pseudo');
$req->execute(array(
    'pseudo' => $pseudo));
$resultat = $req->fetch();

// Comparaison du pass envoyé via le formulaire avec la base
$isPasswordCorrect = password_verify($passe, $resultat['pass']);

if (!$resultat)
{
    echo 'Mauvais identifiant ou mot de passe !';
}
else
{
    if ($isPasswordCorrect) {
        session_start();
        $_SESSION['id'] = $resultat['id'];
        $_SESSION['pseudo'] = $pseudo;
        $_SESSION['conected'] = true;
        
        if(isset($_POST['stay'])){
   			
            
   			setcookie('pseudo', $pseudo, time() + 365*24*3600, null, null, false, true);
   			setcookie('pass', $passe, time() + 365*24*3600, null, null, false, true);
            

		}

	else{
	
			
		}
		echo 'Vous êtes connecté !';

echo'<a href="/blog/index.php">retour a laceuil</a>';
    }
    else {
        echo 'Mauvais identifiant ou mot de passe !';
    }
}




?>


Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
1
Merci
Bonjour,

Déjà, en passant, vu que tu fais du PDO.. je t'invite vivement à appliquer ce qui est indiqué ici :
http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Ensuite, concernant ton "souci" de cookie.... comment sais tu qu'ils ne se créent pas ?

es-tu sûr de passer dans ton if
if(isset($_POST['stay'])){


Peux tu faire un
print_r($_POST);

au début de ton script et nous montrer ce que ça donne ?
et aussi faire également un echo dans ton IF pour t'assurer de passer dedans....




Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM a aidé 34621 internautes ce mois-ci

jordane45
Messages postés
23610
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2018
-
active l'affichage des erreurs PHP dans ton code
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Il se peut simplement que le chemin que tu indiques ne soit pas le bon... et donc que ton require ne marche pas.
Okay, je vais essayer, j'ai testé avec un "echo" au début et ça marche donc le chemin est bon.
Après plusieurs test j'ai remarqué que les cookies marchent comme je veux dans le répertoire ou ils sont crées mais dans index.php il marche toujours mais que lorsque je les déclare dans ce même répertoire.
Est-ce normal?
enfait, quand j'apelle le script dans index.php cooki['pseudo'] a un resulta diferent que quand je l'apelle dans sont repertoir
avec cette dernier info j'ai fait une recherche sur le net, et j'ai redeclarer le cooki comme ceci setcookie('pseudo', $pseudo, time()+365*24*3600, '/blog', null, false, true);, merci pour ton temps :)
Commenter la réponse de jordane45