2010-04-16 5 views
1

Je suis nouveau sur les cookies, et j'essaie de mettre un cookie où stocker le référent (l'org ref).
Mais lorsque je tente cette fonction:Cookie est paramétré deux fois (dupliqué)

function do_it_cookie() { 

// Check if cookie exists 
if (isset($_COOKIE['ref'])) { 

    // It dose exist, do nothing or anything... 

    } else { 
     setcookie ('ref', $_SERVER['HTTP_REFERER'], time() + 60, '/'); 
     header ("Location: http://www.nyttforetag.com/mind-your-own-business/"); 
    } 
} 

Je veux stocker le cookie sur l'ordinateur de l'utilisateur pendant 30 jours, si le retour je veux connaître l'URL de l'arbitrage initial.

Mais quand j'utilise ceci et disons que je vais à une autre page de mon site puis que je reviens à la page d'accueil, il définit un nouveau cookie avec exactement le même nom et avec l'adresse de la page précédente.

Y a-t-il des raisons d'éviter cela?

Répondre

1

Maintenant vous stockez des magasins pendant 60 sec.

time()+60*60*24*30 //this makes store it for 30 days. 

de php.netexpire -

Le temps le cookie expire. Il s'agit d'un horodatage Unix donc il est au nombre de secondes depuis l'époque. Dans les autres mots , vous aurez probablement définir ce avec la fonction time() plus le nombre de secondes avant que vous voulez pour expirer. Ou vous pourriez utiliser mktime(). time() + 60 * 60 * 24 * 30 mettra le cookie à expiration dans 30 jours. Si elle est définie à 0, ou omis, le cookie expirera à la fin de la session (lorsque le navigateur ferme)

0

Premier point, s'il vous plaît définir le nom de cookies est unique pour tous les jours. Veuillez ajouter le nom des cookies avec la date. Définir le cookie dans la maison ou les premières pages seulement. Pendant 30 jours, vous pouvez utiliser le calcul comme time() + 60 * 60 * 24 * 30. Pourquoi le nom du cookie est-il unique?

+0

Pourquoi? –

+0

Parce que l'utilisateur va stocker des cookies pendant 30 jours. – Karthik

+0

Vous ne comprenez pas ce que vous voulez dire, et comment vais-je sélectionner le premier cookie qui a été stocké? –