2011-04-21 4 views
0

Possible en double:
How to set cookies for uuidComment faire un cookie avec PHP

Bonjour, je voudrais savoir comment faire un cookie en PHP. J'ai fait des recherches sur le sujet pendant quelques heures déjà, mais im un débutant à PHP et ne le comprends pas beaucoup. J'ai trouvé ce script, mais je ne sais pas comment l'implanter sur mon site, quelqu'un peut-il m'aider?

setcookie(name, value, expire, path, domain); 
+4

d'abord vous commencer avec le beurre et la farine ..... – Neal

+0

http://www.tutorialcode.com/php/php-basics-php-beginner-tips/ peut-être ... – Capsule

Répondre

2

Que voulez-vous faire avec votre cookie? Si vous souhaitez suivre les informations sur le serveur de la demande à la demande, vous voulez probablement utiliser un session, qui utilise automatiquement les cookies.

Sinon, allez-y et utiliser setcookie pour les cookies qui a besoin de votre application pour d'autres fonctionnalités. Faites attention à cet extrait du manuel PHP:

setcookie() définit un cookie être envoyé en même temps que le reste des en-têtes HTTP . Tout comme les autres en-têtes, les cookies doivent être envoyés avant toute sortie de votre script (ce qui est une restriction de protocole ). Cela exige que vous passer des appels à cette fonction avant toute sortie, y compris et étiquettes ainsi que les espaces blancs.


<?php setcookie("cookiename", uniqid()); ?> 
+0

Je veux que les cookies enregistrent la sortie d'une sortie uniqid(). Pouvez-vous montrer un exemple de script qui peut faire quelque chose comme ça? – user719813

+0

@ user719522 - voir ma réponse éditée –

1

assurez-vous de mettre avant tout est sortie à la page (comme vous le faites avec les en-têtes)

donc:

<?php 

//fill in with the info you want 
$name = 'theCookie'; 
$value = 'tasty'; 
$expire = null; 
$path = '/'; 
$domain = null; 

setcookie($name, $value, $expire, $path, $domain); 

...rest of code 

?> 
+0

merci, mais pouvez-vous s'il vous plaît expliquer ce que le "nom, valeur, expire, chemin, domaine" sont et quoi mettre à la place d'entre eux? Désolé, je suis nouveau à ce sujet. – user719813

+0

nom est le nom du cookie, la valeur est la valeur du cookie, expire est le temps qu'il doit expirer en millisecondes, chemin est le chemin le cookie doit coller à domaine est le nom de domaine. domaine est par défaut le domaine que l'utilisateur est sur – Neal

+0

merci pour la clarification, mais j'ai une autre question. J'utilise uniqid() pour générer un identifiant unique sur mon site. Comment puis-je utiliser ce script cookie pour enregistrer la sortie de l'uniqid() pour le visiteur? – user719813

0

Vous avez la réponse.

<?php 
setcookie("TestCookie", "myValue", time()+3600, "/~rasmus/", ".example.com", 1); 
?> 

Cela crée un cookie appelé TestCookie avec une valeur de « maValeur », il expirera à 1 heure de sa création. Le site Web/domaine est example.com et le chemin du dossier dans lequel vous vous trouvez est/~ rasmus /.

Plus d'informations sur setcookie ici: http://php.net/manual/en/function.setcookie.php

+0

comment puis-je changer la valeur pour correspondre à la sortie de uniqid()? – user719813

+0

Utilisez une variable: $ resultat = uniqid() Ensuite, placez $ result à la place de "myValue" – Genzume

1

Voici un exemple de base

<? setcookie("foobar", "Hello, world!", -1) ?> 

Cela va créer un cookie nommé « toto » avec la valeur, et sera « Bonjour, monde! » expire lorsque le navigateur se ferme.

Aussi, assurez-vous de placer des cookies avant toute sortie HTML sinon il ne sera pas créé.

Pour vérifier sa valeur, faites sur une page suivante.

<? echo $_COOKIE['foobar']; ?> 
+0

Merci, mais j'ai deux questions, 1. Comment puis-je changer l'heure d'expiration? 2. En vous assurant que vous avez configuré les cookies avant toute sortie HTML, vous ne pourrez pas les créer, voulez-vous dire que je devrais mettre le script cookie avant les tags ? – user719813

+0

Pour changer l'expiration, il y a plusieurs façons de le faire, mais si vous voulez qu'elle dure 24 heures, faites time() + (60 * 60 * 24). --- Mettez le code PHP avant la balise HTML si possible, mais oui, certainement avant le tag HEAD. –