Probleme de Cookie

Petit nouveau ! | 2 Messages

20 déc. 2018, 12:53

Bonjour je suis coincée, je n'arrive pas à enregistrer mon cookie dans ma BDD "user_stats", pourtant mes echo fonctionnent bien
<?php 
if(isset($_COOKIE['visite'])) //le cookie existe
{
    //valeur du cookie
    $cookie_value=$_COOKIE['visite'];
    $cookie_value=unserialize($cookie_value);
    $web_user_id=$cookie_value['web_user_id'];
    $web_user_visit=$cookie_value['web_user_visit'];
    //mise à jour du nombre de visites
    $cookie_value['web_user_visit']++;
    //serialisation pour enregistrer les données dans le cookie
    $stat_data=serialize($cookie_value);
    //mise à jour dans la base du nombre de visite pour cet internaute 
    $mysqli->query('UPDATE user_stats SET web_user_visit=("'.$web_user_visit .'")
    WHERE web_user_id=("'.$web_user_id.'")');
    echo 'le cookie existe';

}
else // le cookie n'existe pas 
{
    $web_user_id=uniqid();
    $nombre_visite=1;
    $user_stats['web_user_id']=$web_user_id;
    $user_stats['web_user_visit']=$nombre_visite;
    //serialisation pour enregistrer les données dans le cookie
    $stat_data=serialize($user_stats);
    //ajout dans la base du nombre de visite pour cet internaute
    $mysqli->query('INSERT INTO user_stats(web_user_id, web_user_visit) VALUES
    ("'.$web_user_id.'","'.$nombre_visite.'")');
    echo 'le cookie n\'existe pas';
}
//envoie du cookie
setcookie('visite', $stat_data, time()+30);

?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 déc. 2018, 22:11

Il faudrait que tu debug davantage pour nous indiquer à quel moment ton code ne fonctionne pas comme prévu...
Si tu fais un echo de ta requête SQL ça donne quoi ?
Et si tu testes cette requête dans phpmyadmin ?

Par ailleurs, on est d'accord qu'avec ça :

Code : Tout sélectionner

time()+30
tu demandes à ton cookie d'expirer dans 30 secondes ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

21 déc. 2018, 11:16

Enfaite mon code fonctionne pas juste au moment de l'enregistrement dans la bdd, sinon les echo sont bons, les cookies se créés correctement,
Oui c'était pour un test pour vérifier la création du cookie