Création cookie

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Création cookie

Re: Création cookie

par two3d » 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 ;)

Création cookie

par YannB14 » 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