Création cookie

Petit nouveau ! | 4 Messages

20 janv. 2023, 18:44

Bonjour, je suis actuellement en train de dev un petit site pour m'entraîner en PHP, mon site est sur un vps en ubuntu, j'utilise php8.2 et j'essaie de créer un cookie mais malheuresement j'ai quelques petits soucis.

Voici le code que j'ai fait, le problème étant que le cookie ne se créer pas, j'ai utilisé var_dump pour vérifier ou était le problème mais ça me renvoie
array(0) { }
ce que je ne comprends pas car pour moi le cookie est bien créer. Merci d'avance pour vos réponses. :D
<?php
    // Connexion à la base de données
    $serveur = "localhost";
    $dbname = "test";
    $user = "root";
    $pass = "root";

    $bdd = new PDO("mysql:host=$serveur;dbname=$dbname",$user,$pass);

    // Vérification que les champs sont remplis
    if (isset($_POST['email'], $_POST['password'])) {
        $email = $_POST['email'];
        $password = $_POST['password'];

        // Vérification que l'utilisateur existe
        $req = $bdd->prepare('SELECT * FROM Clients WHERE email = :email');
        $req->bindParam(':email',$email);
        $req->execute();
        $resultat = $req->fetch();

        if ($resultat) {
            // Vérification que le mot de passe est correct
            if (password_verify($password, $resultat['password'])) {
                setcookie('email', $email, time() + 365*24*3600, '/', null, false, true);
                var_dump($_COOKIE);
                // echo "<script> window.location.href='../index.php'; </script>";
            } else {
                $erreur = "Mauvais mot de passe !";
            }
        } else {
            $erreur = "Mauvais Email !";
        }
    }
?>
évidement avant de venir demander de l'aide j'ai lu la doc php mais je pense qu'à force de rester seul dans mon problème il y a des évidences que je ne vois pas

doc utilisée : https://www.php.net/manual/fr/function.setcookie.php

Avatar du membre
Mammouth du PHP | 1564 Messages

20 janv. 2023, 21:29

Test sur une page de créer un cookie et de retourner ce qu'il contient avec var_dump, met juste ce code :

var_dump(setcookie('email', '[email protected]', time() + 365*24*3600, '/', null, false, true));

A vue d'oeil, je pense que c'est "null" qui pose problème, au 5ème paramètre ;)