Salut tout le monde,

j'ai un problème au niveau de mon cookie pour d'autre navigateur, je m'explique:

dans mon site que je développe, j'ai mis en place un système de cookie après la validation par E-mail d'un client lors de son inscription sur mon site,

à première vue tout semble bien fonctionner jusqu'au moment où je devais essayer de visualiser mon site en utilisant d'autre navigateurs (Ex: edge,mozila).

Quand j'essaie d'acceder à mon cookie en utilisant edge ou mozila, PHP me crache en plein visage.

voici mon code pour la création de cookie:

<?php
  setcookie('estClient','oui',time()*3600*24*12,'/');
?>

NB: En utlisant Chrome tout fonctionne bien.

Alors j'aimerai savoir comment faire pour que mon cookie soit accessible(utilisable) avec les autres navigateurs (edge,mozila) ?

Merci d'avance pour votre aide

1 réponse


Bonsoir.
C'est tout à fait normal.
Un cookie n'est disponible que dans le navigateur sur lequel il a été créé.
Donc si par exemple sur le même ordinateur le cookie est par exemple créé sur le navigateur Chrome, lorsque tu passe à un autre navigateur (Edge par rexemple), le cookie n'y sera pas présent tant que le cookie n'y sera pas créé.
Donc pour faire simple, ton système de cookie pour vérifier si l'utilisateur a bien un compte sur ton site est incorrect, un cookie ne doit être utilisé que comme un système de personnalisation pour l'utilisateur, comme par exemple le système remember_me qui permet à l'utilisateur de ne pas devoir se ré-identifier sur un site lorsqu'une session est terminée et non pour une fonctionnalité précise sur le site lui même, comme dans ton cas pour savoir si l'utilisateur à créer un compte sur ton site.
Pour ton système, au lieu de créer un cookie pour savoir si l'utilisateur a bien un compte, il est préférable de faire par exemple :

  1. L'utilisateur rempli le formulaire d'inscription, si tout est bon on passe à la suite
  2. Envoi d'un mail avec un lien contenant par exemple un token
  3. L'utilisateur reçoit le mail avec le lien, il clique sur le lien, qui le dirige vers une page spécifique
  4. La page spécifique, qui permet par exemple de vérifier la validité du token (selon l'exemple), modifie dans la base de données un champ d'une table contenant les informations de l'utilisateur, dont cet enregistrement permettra de connecter ou non l'utilisateur

Donc, pour ton système d'inscription, il te faut faire de manière à pouvoir faire une vérification sur des données durables, et non avec un système qui peut changer selon la localisation de l'utilisateur et/ou du navigateur qu'il utilise.
Par conséquent, pour répondre à ta question, soit tu utilises un système avec des données durables comme cité ci-dessus, ou alors il te faut également créer le cookie sur les autres navigateurs et périphériques de l'utilisateur (sauf que la seconde va être redontante pour l'utilisateur et pourra le mener à fuir ton site qui de plus sera compliqué à mettre en place pour toi).