2010-08-16 3 views
2

donc je besoin d'un ensemble de cookies pendant 21 jours sur un navigateur lorsqu'un utilisateur frappe sur le site et à chaque fois que l'utilisateur retourne dans cette période de 21 jours j'ai besoin de récupérer cette valeurPHP un cookie non 100%

if($_REQUEST['ref'] == "something"){ 
    setcookie('something_value', "something" ,time()+60*60*24*21,'/','mydomain.com'); 
} 

dans la vue

<?php if(isset($_COOKIE['something'])) { ?> 

mais quand je l'ai vue les cookies dans Safari et Firefox je ne vois pas « quelque chose »

suis-je manque quelque chose

+0

est là plus au code alors ''? – blockhead

Répondre

4

On dirait que vous avez échangé les deux premiers paramètres de setcookie. Le premier paramètre devrait être le nom du cookie.

+0

@Jeff, un gentil! Je recommanderais aussi à John de mettre un. devant le nom de domaine. Mais il est assez évident que Cookie_name et Cookie_value ont été changés. – Frankie

+0

@Frankie, le point rendra le cookie disponible pour les sous-domaines, donc ce ne serait pas une mauvaise idée d'en faire une habitude. Bel appel. –

+0

Les gars génial merci, cela a réglé le problème et le. est une bonne idée aussi – Trace

0
// prefix the mydomain.com with a . (makes it work on more browsers) 
setcookie('something_value', "something" ,time()+60*60*24*21,'/','.mydomain.com'); 

J'ai aussi eu ce problème et mettre un. devant le nom de domaine fait des merveilles pour moi.

0
  1. Ne pas afficher les cookies dans Safari et Firefox. Cookie est un en-tête HTTP et rien d'autre. Ne comptez pas sur le mécanisme du navigateur interne. Mais comptez uniquement sur le journal HTTP. Voyez-vous votre cookie dans le journal HTTP?
  2. quel est son nom? "Quelque chose"? Tu ne gâches pas quelque chose? ;)