Menu

Cookie ne s'enregistre pas [Résolu]

valentin - 11 oct. 2018 à 14:29 - 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

11 réponses

Meilleure réponse
jordane45 22759 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 11 octobre 2018 Dernière intervention - 11 oct. 2018 à 14:39
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....




Merci jordane45 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 25522 internautes ce mois-ci

jordane45 22759 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 11 octobre 2018 Dernière intervention - 11 oct. 2018 à 15:48
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