TOUT SUR LES COOKIES

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 27 mars 2003 à 07:44
longshot41 Messages postés 17 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 janvier 2021 - 22 déc. 2005 à 16:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13208-tout-sur-les-cookies

longshot41 Messages postés 17 Date d'inscription lundi 28 février 2005 Statut Membre Dernière intervention 14 janvier 2021
22 déc. 2005 à 16:25
Pour Kirua et les autres aussi lol.
Ce que je fais c'est un truc du genre.
Parfois on ne peut pas ce permettre de recharger la page pour raison XY.
Je fais une copie d'un code d'exemple pour une variable de langue.

*****codeur: Longshot le: 22-12-2005
$expire = 10; // 10 sec avant l'expiration, c'est pratique pour tester sans avoir besoin de redemarer le nav. a chaque fois. A changer lors de l'exploitation.

if ($_COOKIE["lang_cookie"]) // si le coookie existe l'attribuer à la $lang_var
$lang_var = $_COOKIE["lang_cookie"];
elseif (isset($_GET['lang'])) { // sinon si $_GET['lang'] existe (pour mon cas le cookie = une var(lang) d'url)
$lang_var = $_GET['lang'];
setcookie("lang_cookie","$lang_var",time()+$expire);} // et créer le cookie
else
$lang_var = "default";
// pour testons en appelant la page, puis en la rappelant
echo "Mon cookie = " . $_COOKIE["lang_cookie"];
echo "
Ma var =" . $lang_var;
include("include/traduction.php");
//et dans le include un truc genre if ($lang_var "fr") $ville "en français";
// if ($lang_var "default") $ville "rien";
// else
echo "
$ville";
**** FIN

Bon un if/else aurrais suffit, mais j'aime bien savoir ce qui passe dans mes variables.
elseif (isset($_GET['lang'])) doit pouvoir ce remplacer par elseif ($_GET['lang']) question d'habitude.

Voilà en résumer, plutot que de tout miser sur le cookie que de toute façon il va falloir rap. a chaque page j'utlise une varible normale.

Au départ je voulais utilisé les sessions, mais si pour une raison XY elle tombait (fermeture du navigateur, plantage etc.. le visiteur ce retrouverai certainement avec la langue par defaut.
Pour les malins (lol) récupérer la langue du navigateur et aussi une solution, mais par ex. si le visiteur travail avec un ordi en espagnol et que sa langue natale et le français je pense qu'il serai plus à l'aise si celà s'affiche dans celle-ci.

Bon c'est une proposition, je suis ptre a coter completement, mais cette solution me convient.

ATTENTION ne jamais stocker de cookie login/pass trop dangereux le mieu c'est une session.
Si jamais pour ceux qui serai interressé, j'ai aussi un petit code pour éviter ceux qui piquerai la connection.
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
25 juin 2004 à 04:39
La valeur du cookie sera vide. Donc c'est une façon de vérifier si l'utilisateur accepte les cookies, tu met une valeur dans un cookie et ensuite si le cookie ne contient rien c'est que le cookie n'y est pas (Refuse cookies).

Mat
cs_Solo Messages postés 10 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 6 octobre 2004
23 juin 2004 à 11:57
Oh grand maitre du cookie ! une petite question bete... Que se passe t-il si je tente de lire un cookie qui n'existe pas ? Par exemple dans le cas ou un cookie a expiré, ou si l'internaute a effacé ses cookies, ou si l'internaute est parano et qu'il refuse les cookies, ou enfin, si des cookies ne sont créés que pour certains internautes autentifiés...
geranium7 Messages postés 1 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 9 juin 2004
9 juin 2004 à 16:47
salut et merci bcp pour ce tuto. je débute totalement, et je voudrais savoir qui (quelles entreprises) vient sur mon site. Je pense que c'est grace aux cookies.
Mais je n'arrive pas , avec le script, à récupérer les cookies : ou sont -ils ? Faut il créer un fichier de récupération ?
merci @+
CaBBaLe Messages postés 5 Date d'inscription jeudi 1 mai 2003 Statut Membre Dernière intervention 1 juin 2004
1 juin 2004 à 21:22
slt,

Merci tortue t'es génial ;)
Donc je passais par là pour parfaire toujours mon apprentissage de php, et j'ais vu des histoire de date dans les commentaire de ce tuto, dont la reponse peut être autre.
Donc pour ceux qui veulent un cookie qui expire à une date précise, il existe une solution avec mktime() directement dans la déclaration du cookie.

------
code:
---------------------------------------------
setcookie("$nom_du_cookie","$valeur_du_cookie",mktime(0,0,0,1,1,2005));
---------------------------------------------
Le cookie ici expire le 1ier janvier 2005.

Voila cela à surement été dis alleur depuis le temps, mais cela pourra surement servir à celui qui passe par ce tuto.

@++
daerlnaxe Messages postés 31 Date d'inscription mercredi 18 octobre 2000 Statut Membre Dernière intervention 8 avril 2004
7 avril 2004 à 14:41
Un truc que je pige pas en fait et qui m'a fait bloquer un ptit moment... Ils sont créés ou ces cookies ? j'ai fouillé dans le repertoire utilisateur cookies (jesuis sous xp) je m'attendais a les voir sous la forme utilisateur@nomducookies.txt ...

thx pour ton tuto j'ai eu du mal un moment mais pour une connerie lol... j'avais foutu des "." dans le nom de mon cookies.
BoulyFamily Messages postés 4 Date d'inscription mardi 16 septembre 2003 Statut Membre Dernière intervention 27 mars 2004
27 mars 2004 à 16:14
Un tuto fort utile... En effet, je m'étais lancé dans les SESSSION mais il me manquait l'utilisation des COOKIES afin que lesgens n'aient pas à saisir de nouveau leur login ni mot de passe.

Le reste de la discussion était trop longue à lire bien que des bouts de réflexionssont présents un peu par-ci par-là !

En résumé... Merci !

SEE U SOON
BoulyFamily
cs_farben Messages postés 6 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 31 octobre 2003
2 oct. 2003 à 03:25
Ooops, petite erreur de copier/coller du code précédent, voilà le bon, avec la dernière ligne qui est echo "cookie=",$recu; et non pas echo "cookie=",$TestCookie;

<?php
$recu = $TestCookie;
if (!isset($recu)) {
$recu = $_COOKIE["TestCookie"];
}
if (!isset($recu)) {
$recu = $HTTP_COOKIE_VARS["TestCookie"];
}
if (!isset($recu)) {
echo "a pas cookie";
} else {
echo "cookie=",$recu;
}
?>

Je me suis aperçu de la boulette en testant sur un serveur local où $_COOKIE fonctionne et pas $HTTP_COOKIE_VARS, comme sur deux autres serveurs distants que j'ai testé. Ca vient de quoi ? De la config du serveur ou c'est le bordel dans les versions ?
cs_farben Messages postés 6 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 31 octobre 2003
2 oct. 2003 à 02:50
Sympa les tutorials quand on débute, c'est une vraie mine d'or ici. Juste une ou deux remarques pour ceux qui, comme moi, n'arrivent pas à faire marcher ces sources tel quel sur leur serveur:

1/ sous peine de parse error en pagaille, il faut virer les blancs ou les tabs de début de ligne.

Ecrire par exemple:
if (condition) {
action;
}
et non pas:
if (condition) {
action;
}



2/ sur le serveur que j'utilise pour tester (hebergementgratuit, pour ne pas le nommer), $_COOKIE ne marche pas pour lire les cookies existants, on ne peut les récupérer qu'avec le nom de la variable ou avec $HTTP_COOKIE_VARS.
Voilou un petit bout de code pour tester avec les trois méthodes si cet enfoiré de cookie existe ou pas.

<?
$recu = $TestCookie;
if (!isset($recu)) {
$recu = $_COOKIE["TestCookie"];
}
if (!isset($recu)) {
$recu = $HTTP_COOKIE_VARS["TestCookie"];
}
if (!isset($recu)) {
echo "Ben ? Où kil est le cookie à son papa ?";
} else {
echo "cookie=",$TestCookie;
}
?>

Remarques:
isset($var) vérifie, comme son nom l'indique si $var est vide ou pas. Je suppose que if (!$recu$) doit faire la même chose, mais isset existant, pourquoi ne pas s'en servir, hein ?

La variable TestCookie a été envoyé dans une précédente page avec:
<?
$value="tagada";
setcookie("TestCookie",$value,time()+3600); 
?>




3/ Effacer le cookie juste en écrivant par dessus ne marche pas non plus setcookie("TestCookie"); ou plutôt ne l'efface pas tout de suite. Pour virer la chose tout de suite, faut lui donner un temps de vie négatif.

<?
setcookie ("TestCookie","", time() - 3600);
?>

Là, vue qu'il n'existe plus depuis une heure, a pu le cookie, mortibus.



Voilou, j'espère que j'ai pas trop dit de conneries, je ne m'y suis mis qu'hier au php, je suis pas encore un gourou :)
praystation Messages postés 41 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 20 mars 2003
23 août 2003 à 20:17
par respect, je te remercie de ce tuto q;)
Mumuri Messages postés 320 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 6 avril 2008
17 août 2003 à 17:51
a si je sais quand le browser est redirigé on vérifie le contenu du cookie si il est vide c'est que les cookies sont pas activé

y'a des fois je m"tonne moi méme lol
Mumuri Messages postés 320 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 6 avril 2008
17 août 2003 à 17:42
et y'a pas une source "tester le client"
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
4 août 2003 à 21:31
je prend pas ça comme une attaque, ça a juste rien a faire ici lol moi ça montre comment créer un cookie, pas comment tester le client
vbtom Messages postés 229 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 5 octobre 2003
4 août 2003 à 14:51
Le prend pas comme une attaque... Ca me semble juste un points essentiel dans l'utilisation des cookies.
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
4 août 2003 à 12:05
j'ai rien oublié, mon tuto c sur les cookies pas sur les clients
vbtom Messages postés 229 Date d'inscription dimanche 3 juin 2001 Statut Membre Dernière intervention 5 octobre 2003
3 août 2003 à 23:54
"TOUT SUR LES COOKIES "
tas tout simplement oublie de dire comment on testait si le browser du client acceptait les cookies... C'est pas négligeable :)
cs_Aspect Messages postés 47 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 23 mars 2004 1
4 juil. 2003 à 01:21
hmm c'est pa top de garder des identififaint de connection non encrypter dans un cookie qui va durée en plus de cela 31536000 secndes :)
Tu dis qu'il y a une erreur de yntaxe, mais elle se trouve probablement autrepart dans ton code, enfin sa s'avère difficile de t'aider avec ce peu d'infos :/
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
2 juil. 2003 à 22:17
Maintenant sur un autre site j'ai un login et je me suis arrangé pour que lors de la prochaine visite le username et le password sois automatiquement inscrit dans la form. Avec un cookie évidemment.

Mais cela ne marche pas ! Pas parce que je ne sais pas comment mais bien pour une raison que j'ignore, voici mon code :

dans la page de vérification si le user est john et le mot de passe mdp ça donnerait ceci :

setcookie("usr","john",mktime()+31536000);
setcookie("pswd","mdp",mktime()+31536000);

et dans la page de connexion

" type="text" name="username">
" type="password" name="password">

si je prend $_COOKIE['usr'] i l y a une erreur de syntaxe en plus.

Ceux que ça leur tente et dont ils sont capables merci beaucoup de m'aider.

Mathieu M-G
http://www.maxicom.ca.tc
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
30 juin 2003 à 19:06
Ah moi ça me dis rien je suis Canadien Québécois !

@+

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
30 juin 2003 à 19:05
- On peut se tutoyer
- Si vous voulez

ça te rappelle rien? :-) (un peu de politique française ^^ je suis belge mais j'en ai entendu parler ^^)
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
30 juin 2003 à 17:13
D'accord merci beaucoup, ça en fait des secondes ça !

Et ton vous d'un des messages précédent ne me vouvoyait pas il parlais en général. Et puis qu'est-ce que ça peut bain faire qu'on se vouvoient c pas grave moi je m'en rend pas compte quand j'écris et vous c'est plus poli à moins que tu préfère absolument que je te tutoie et le monde peuvent écrire selon leur désir. Je ne dis pas ça pour être méchant je dis juste ça parce que je vouvoie presque tout le monde parce que j'y suis habitué.

Merci encore

@+

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
30 juin 2003 à 16:57
Salut!

t pas obligé de me vouvoyer mdr :) j'avais utilisé un "vous" dans un de mes messages mais c t par accident, :-)

en effet tu ne peux pas demander l'imputrécibilité d'un cookie, mais tu peux le configurer pr qu'il soit effacé après 10, 20, 30, 1000 ans si tu veux. Mais souvent les utilisateurs pr une raison ou pour une autre voint leurs cookies effacés donc ce n'est pas garanti. Le mieuxétant je pense de créer le cookie pour mettons un an, et le recréer à chaque visite, comme ça il est tjs valide pendant "un an depuis la dernière visite"
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
30 juin 2003 à 15:33
Désolé c'est encore moi, je veux juste savoir s'il est possible de paramétrer un cookie qui n'expire pas parce que si on met pas d'expiration il est valide seulement pour la session courante et on peut quand même pas mettre uyn chiffre infini. Peut-être 0 je ne sais pas. Si c'est trop compliqué commencez pas à calculer ça sur des bouts de papier SVP Kirua dites-moi quoi je dois faire et je le ferai moi-même mes intentions n'étant point paresseuses.

Merci d'avance de votre aide.

Mathieu M-G
http://www.maxicom.ca.tc
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
30 juin 2003 à 00:51
J'y suis allé et je trouvais pas ou étais la liste des fonctions j'ai trouvé un Manuel mais pas les fonctions et tout ça a fini par une recherche dans Google.

Encore merci et désolé

@+

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 22:41
c'est pas bien grave tu sais, rassure toi :-)
et php.net doit être ton meilleur allié dans ta course contre l'empire du Mal ;-)
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 19:25
Désolé pour tout ce que j'ai pu faire de mal. Je vais me retirer de cette discussion avant que sa tourne au rouge.

Merci et excuse

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 19:22
tu n'as pas eu de difficultés, tu n'as pas cherché. désolé mais demander comment fonctionne une fonction c'est la dernière chose à faire puisqu'un coup de google et tu l'as en 2 nanosecondes.

ce qui confirme bien que quand les gens ont trouvé un endroit ou on les aide charitablement ils ne réfléchissent plus et à la moindre erreur ils sont eprdus. c pas la première fois que je vois ça, on va dire que c humain (d'ailleurs je pense bien que ça m'est arrivé aussi)

honnêtement y a des questions que tu aurais pu éviter aussi débutant que tu es, et puis tu dis merci après avoir posé les questions mais pas après qu'on ait répondu (t'imagines que j'ai du prendre une feuille et un crayon pr trouver comment calculer la date du lundi qui suit, mais tu aurais pu le faire aussi non? à moins que tu aies 4 ans) c pas des maths très poussés


sur ce, bonne continuation comme d'hab hein :)
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 19:18
C bo j'ai trouvé merci de votre aide tout au long de mes difficultés et c'est pas parce que ça me tentait pas de le faire c'est que je suis un beginner en PHP.

Merci

Mathieu M-G
http://www.maxicom.ca.tc
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
29 juin 2003 à 19:04
kirua> c bien plus facile de demander a quelqu'un de faire le code voyons lol, comme ça ils cherchent pas, c rapide (si les gens sont gentils), ils disent pas merci et aprés ils disent "Vous aimez ? c moi ki l'ai fé sans aucune aide" lol

Bon ok c pas tous ki le font mais y a un grand nombre de personnes ki font ça, c dailleur pour ça ke je fais que des tuto avec des morceaux de code et pas des sources entieres, j'aime pas me casser le cul pour ke des gens disent ke c eux ki l'ont fé lol
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 18:53
WWW.PHP.NET je comprends pas que vous n'y alliez pas, on y fait tt le temps référence pffffffff
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 18:41
Oui mais c'est quoi la syntaxe de timestamp(koi, koi ,koi, mois, jour, an) et comment je marque 7h30 du soir la dedans ?????

MERCI

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 18:36
utilise ma classe de date, ça fonctionne pasmal pour ce genre de chose et il y a un vrai fichier d'aide structuré (chm).
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 18:34
Le code que j'ai mis en haut fonctionne tout ce que je veux savoir c'est la syntaxe de timestamp(); et comment marquer à 19:30 ??

Merci quand même

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 18:30
non pas pr le dimanche en fait. au début j'avais une switch et puis je l'ai viré.
tu n'as qu'à le mettre dans une if:

if($nd >= 1)
//ce que j'ai dit
elseif($nd < 1)
$avance = 1-$nd;

et comme ça ça marchera pour tous les jours, suffit de remplacer 1 par le code du jour quetu veux
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 18:27
mais si, faut pas compliquer.
Bon, tu fais comme suit:

Pour récupérer la date du lundi qui suit, (sache que c'est le jour 1 de 0 à 6), tu regarde le n° du jour actuel comme ceci:

$nd = date('w')

Tu sais qu'il va falloir avancer de ce nombre jusqu'au premier 1 qu'on trouve. donc $nd+1 +1 +1 ... = 1
à savoir que si on arrive à 6, il faut revenir à 0 (puisqu'il n'y a que 7 jours, de 0 à 6). bien ça donne du genre:

$avance = 7 - $nd + 1;

regarde bien pour toutes les valeurs on obtiendra bien le nombre de jours voulu (teste pour un dimanche (0) un samedi (6) un lundi (1) etc...

après tu crée une date:

$nvlle_date = time() + $avance * 24 * 60 * 60; // avance de $avance jours

et puis tu passes ton beau timestamp au cookie
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 18:21
Je viens de le trouver lis mon message précédent j'ai d'autres questions.

Merci

Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
29 juin 2003 à 18:20
faut faire ça avec le timestamp :

date prévu - date aujourd'hui = date qu'on veut
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 18:20
Euréka ! (Comme le dirait si bien mon ami Einstein)

$an = "2003";
$mois = "06";
$jour = "29";
$date = mktime();
$date2 = mktime(0, 0, 0, $mois, $jour, $an);
$diff = floor($date2 - $date);

if($_COOKIE['zpt']=="oui")
{
print("Vous avez déja voté !");
}

else
{
setcookie("zpt","oui",$diff);
}

Je devine les 3 "0" devant les trosi variables en ordre : seconde, minute et jour.

Si je veux rajouter pour 7h30 PM (19H30) quel "0" je remplace par la dite variable et quelle syntaxe à cette dernière : 19h30 ou 7j30 pm ou 19:30 ou 7:30 P ou 7.5 P ou 19.5 P ??? Ou un autre je sais pas trop comment le marquer.

Merci

Mathieu M-G
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
29 juin 2003 à 18:18
Je vois pas trop ce que tu veux dire mais regarde ça :

Si tu veux soustraire la data de hier notée x à la date d'aujourd'hui notée y, tu fais simplement y - x ! Puis tu assignes le résultat à la valeur du cookie.
Si c'est ce que tu cherches je vois pas le problème mais je ne suis pas sûr que ça soit ça...
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 18:13
Oui mais il n'es pas possible de préalablement calculer l'intervale entre la date voulue et la présente date(en secondes) et affecter cette valeur à l'expiration du cookie ???

Merci

Mathieu M-G
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
29 juin 2003 à 18:08
Si je comprends bien tu veux interdire un autre vote pendant un laps de temps. Voilà une solution qui n'est peut être pas la meilleure mais je propose :

Lors de l'envoie du cookie tu stockes la date() dans une table puis tu la compares avec la date() actuelle lorsque le visieur revient sur ton site.
MAIS la valeur du cookie ne doit pas être "oui" ou "non" mais la date() qui aura été stockée...

Je vois que ça :)

Bon courage !
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 17:57
Bon ça marche !

C'est parce que y avait <html><head> avant mon affaire de cookie mais puisque cette page était dans un frame de 0 X 0 je ne voyais pas l'erreur Header already sent de PHP.

Maintenant je ne sais pas comment faire pour soustraire la date de lundi ademttons à celle d'aujourd'hui pour le mettre dans l'expiration du cookie ???

Merci

Mathieu M-G
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 17:52
Marche pas plus :'(

if($_COOKIE['zpt']=="oui")
{
print("Vous avez déja voté !");
}

else
{
setcookie("zpt","oui" ,mktime()+3600 );
}
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
29 juin 2003 à 16:58
mathieumg >>> même erreur que eax, tu n'as pas mis la durée d'expiration donc dès que tu recherches là page au revoir le cookie donc ta condition n'est pas respectée donc pas d'affichage.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2003 à 16:53
$_COOKIE['zpt']
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 16:45
Ça marche po et les cookies sont activés !!!!!

Mon code :

if($_COOKIE[zpt]=="oui")
{
print("Vous avez déja voté !");
}

else
{
setcookie("zpt","oui");
}
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
28 juin 2003 à 13:20
Oui oui tu as tout à fait raison !
Mais ce que je comprends pas c'est que lorsque tu reload une page, la session ne se termine pas. Mais quand tu fermes er relances le navigateur la oui bien sûr.
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
28 juin 2003 à 11:39
en fait, g compris mon erreur:
quand on ne met pas de limite de validité, le cookie n'est valide que pour la session courante, donc il faut obligatoirement fixer une date limite
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
27 juin 2003 à 23:24
ben en fait
<?=$blabla?>
c pareil que
<? echo $blabla; ?>
mais c plus court et + rapide à taper :)
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
27 juin 2003 à 18:55
eax >>> quelques remarques : je ne comprends pas (je ne connais pas) pourquoi tu mets =$_COOKIE[test] ?
Moi j'aurai mis echo $_COOKIE['test']; (avec les simple quotes).

Voilà je t'aide pas vraiment là mais bon le = me surrpend :)
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
27 juin 2003 à 17:15
euh excuse moi (désolé d'être lourd), mais g du mal avec les cookies alors g crée une page toute simple:

<? setcookie("test","c_bon"); ?>
<html>

<?=$_COOKIE[test]?>

</html>

et il affiche c_bon que si je fais réactualiser et qd je relance le navigateur, il met + rien lol
pourtant g activé les cookies, c un bug de iexplore ou c moi qui ai du mal?
eax Messages postés 728 Date d'inscription jeudi 20 juin 2002 Statut Membre Dernière intervention 7 novembre 2007 2
21 juin 2003 à 21:51
StarflaM> ben t'as pas le sens de l'humour ou quoi?
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
21 juin 2003 à 20:01
Comment je suis supposé faire ça wonesek (P.S. je suis un newbie !)

Merci

Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
21 juin 2003 à 16:52
pas content tu vas voir d'autre tutorial :-D
StarflaM Messages postés 2 Date d'inscription samedi 21 juin 2003 Statut Membre Dernière intervention 21 juin 2003
21 juin 2003 à 15:35
lol C'est dommage lol de mettre des "lol" des tes lol commentaires de ton code.... lol :/
wonesek Messages postés 115 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 13 mai 2006
21 juin 2003 à 13:01
je parle pas bien francais.... escusez moi :) lol
wonesek Messages postés 115 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 13 mai 2006
21 juin 2003 à 13:00
tu prends le timestamp de la date fixe que tu le soustrait à time() et puis voila
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
21 juin 2003 à 12:35
Oui je sais mais ça c'est relatif à la date de création !

Admettons je veux que pour tous les visiteur il se détruise dimanche peu importe la date de création, je fais comment ???

Merci d'avance

Mathieu M-G
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
21 juin 2003 à 12:32
bah ouais c expliqué dans le tuto

mktime() + 3600 = 1h
mktime() + (3600*24) = 1 jours
mktime() + ((3600*24)*30) = 1 mois
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
21 juin 2003 à 12:21
Est-il possible de mettre admettons la date d'expiration d'un cookie à une date fixe (et non une date relative au moment de la création) ????

Merci d'avance

Mathieu M-G
http://www.maxicom.ca.tc
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
17 mai 2003 à 12:50
t'as plus de 40 jours de retard... (H) t'es pas aware
pyroflo Messages postés 323 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 17 mai 2005
15 mai 2003 à 23:58
gogo.prog >>> tu le crées avant la balise <html> parce que, comme il est indiqué dans ce tuto, on crée les cookies avant d'envoyer le header de la page (ça donne pleins d'infos...).

Corrigez moi si je me trompe !

Tiens, Kirua ! On est toujours au même endroit lol ;)

Pyroflo
http://www.abcpyro.fr.st
gogo.prog Messages postés 5 Date d'inscription lundi 21 février 2000 Statut Membre Dernière intervention 11 mai 2003
11 mai 2003 à 12:46
je ne comprend pas quand je dois creer mon cookie :(
wonesek Messages postés 115 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 13 mai 2006
29 mars 2003 à 11:08
Quoi qu'il en soit, y a une technique pour que des le premier chargement de la page (celui qui initialise les cookies) tu puisse avoir acces a tous tes cookies: en effet, $HTTP_COOKIE_VARS['foo'] = $val fonctionne (bah oui c'est un tableau comme un autre a priori!)
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
27 mars 2003 à 23:16
C'est le meme probleme pour les sessions
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
27 mars 2003 à 23:04
très juste, ça m'avait échappé.
merci vieux ;-)
wonesek Messages postés 115 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 13 mai 2006
27 mars 2003 à 12:15
Réponse Kirua:
Non ce n'est pas que tu peux pas lire les cookies sur la page qui l'a creer mais lorsque que tu fais un setcookie() les header informations de la page ont deja été chargé et donc les cookies que tu viens de définir ne peuvent pas etre pris en compte, c'est pour ca qu'il faut que tu recharge ta page pour que modifications soient effectives
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
27 mars 2003 à 07:44
est-ce que c'est vrai qu'on ne peut pas lire un cookie depuis la page qui l'a écrit ?
J'ai lu ça sur chai°plus°quel°site et ça s'est vérifié sur le mien, puisque j'ai dû créer une page intermédiaire :(
Rejoignez-nous