Help!!!! <test cookies>

Sabrina -  
 Codeur php -
Bonjour à tous!

J'aurais besoin de savoir comment je dois faire pour tester si un navigateur accepte les cookies ou pas...

Je vous remercie de vos reponse futures...
Bisous a tous!
A voir également:

4 réponses

Bobinours Messages postés 2903 Statut Membre 504
 
Tu deposes un cookie et si tu n'arrive pas a le lire... il n'accepte pas de cookies.

PS: En quel langage veux-tu ça ? JavaScript, PHP, ASP ?

-= Bobinours =-
0
Sabrina
 
En java, c'est dans une jsp...
0
Bobinours Messages postés 2903 Statut Membre 504 > Sabrina
 
Ca devrait marcher en JSP.
Par contre, je ne connais pas les fonctione pour ecrire et lire un cookie... Mais ce n'est pas ta question.

-= Bobinours =-
0
jibé > Bobinours Messages postés 2903 Statut Membre
 
Bobinours --> écrire un cookie :

response.setHeader("Set-Cookie","login="+str_login+"["+str_passwd+"]; path=/;expires="+aday.getTime().toString());

lire dans un cookie :

Cookie[] cookies = request.getCookies();
String value = "";
if (cookies != null)
{
checked=true;
for (int i=0 ; i<cookies.length ; i++)
{
if (cookies[i].getName().equals("login"))
{
try{
str_login = cookies[i].getValue().substring(0,cookies[i].getValue().indexOf("["));
str_passwd = cookies[i].getValue().substring(cookies[i].getValue().indexOf("[")+1,cookies[i].getValue().indexOf("]"));
}catch(Exception e){
str_login="";
str_passwd="";
}
}



}
}


Excuses moi, je n'ai pas le courage de mettre en ordre le code ;-))
Pour lire dans un cookie, on utilise l'objet Cookie... on pourrais l'utiliser pour écrire mais je te conseil de faire comme décrit ci dessus, en particulier pour fixer la durée de vie...

Le problème est que l'objet Cookie n'est pas compatible avec tous les navigateurs (même Sun l'avoue)... ça ne fonctionne donc pas forcémment avec Netscape... étonnant non ?
0
Sabrina > jibé
 
Merci!
Désolé que tu te sois pris la tête, mais j'ai trouvé la solution sur un autre forum: j'etais assez préssée... :-)
Mais merci quand meme! t'es adorable!
0
Utilisateur anonyme > Sabrina
 
pourrais tu nous filer ta solutiuon stp???

Castor
0
PHP
 
Je sais que tu as trouvé une réponse mais voici comment faire pour tous ceux et celles qui préférent Php.

Ecrire un cookie en Php :
____________________

Syntaxe complète :

setcookie(string name, string value, string expire, string path, string domain, string secure);

name : nom du cookie
ex : "ccm"

value : valeur du cookie
ex : "comment ca marche"

expire : date d'expiration du cookie (si non spécifié le cookie expire à la fin de la session)
ex : time()+3600 -> le cookie expire danas une heure
(cette syntaxe est propre à Php)

path : chemin d'accès jusqu'au répertoire à partir duquel le cookie est valide.
ex : "/public/"

domaine : domaine pour lequel le cookie est valide
ex : "commentcamarche.net"

secure : indique si le cookie doit être transmis par connexion sécurisée de type HTTPS
(Là j 'sais pas trop ce qu'il faut mettre j'avoue ...)

Ex :

<?php
$ccm="comment ca marche ?";
setcookie("ccm", $ccm, time()+3600, "/public/", "commentcamarche.net");
?>

Mais le + souvent on se limite à :

<?php
$ccm="comment ca marche ?";
setcookie("ccm", $ccm, time()+3600, "/");
?>

ATTENTION : l'instruction setcookie() doit apparaître au tout début de la page html avant la balise <HTML> elle-même !!!!

Même un espace peut engendrer une erreur donc bien écrire :

<?php
...
setcookie(...);
...
?>
<html>
...
</html>

Lire un cookie en Php :
__________________

<?php
// Si le cookie ccm existe sur le poste du client alors la variable
// $ccm prend directement la valeur du cookie

// Ainsi le code suivant affiche "comment ca marche ?"
echo $ccm
?>

Si on veut être sûr qu'il s'agit bien d'un cookie on peut utiliser la syntaxe suivante :

<?php
$cookie_ccm=$HTTP_COOKIE_VARS["ccm"] ;

echo $cookie_ccm;
?>

Effacer un cookie :
_______________

Il suffit de le déclarer sans valeur .

Ex:
<?php
setcookie("ccm");
?>

Supprime le cookie ccm.

Simple non ?
On peut même utiliser des tableaux : le délire !

Ecriture avec tableau :

<?php
$ccm[prenom]="Super";
$ccm[nom]="Site";
setcookie("ccm[prenom]",$ccm[prenom],time()+9999999,"/");
setcookie("ccm[nom]",$ccm[nom],time()+9999999,"/");
?>

Lecture :

<?php
echo $ccm[prenom]."-".$ccm[nom];
?>

Affichera "Super-Site" Yeaahh !!!

En espèrant vous avoir éclairé sur the cookie factory en Php

@+
Philippe
0
flo
 
Sur le forum, j'ai vu ton explication sur les cookies, et donc je me permet de t'écrire pour t'en demandé d'avantage(puiqu'il semble que tu maitrise bien le sujet).

Mon voeu est de faire une vérification de cookies permettant une redirection.
J'explique: Il me faudrait en script qui puisse tester un cookie (qui a été mis par un autre site) et si celui-ci existe faire une redirection vers une page de mon site. Je sais que cela existe en php mais j'ai pas pu avoir accés au script pour voir comment cela fonctionne !!!
0
PhP Messages postés 1774 Statut Membre 606 > flo
 
Bjr Flo

Merci mais je ne suis pas aussi expert dans la redirection que tu sembles le croire ...


Je n'ai pas bien compris : tu dis que tu veux tester un cookie qui a été envoyé par un site mettons SITE_A

Ce cookie tu veux le tester depuis quelle page ?
Depuis une page qui du SITE_A ou bien depuis une page d'un autre site par ex SITE_B ?

Le second cas de figure n'est pas possible directement : depuis le SITE_B tu dois obligatoirement appeler une page présente sur le SITE_A car seule les pages d'un même domaine ont le droit d'accèder aux cookies de ce domaines, sécurité oblige (du moins si g bien compris ce qui était écrit dans la doc ... )

Et pour faire ce test tu veux cliquer sur un lien, ou faire en sorte que le test s'effectue automatiquement au chargement d'une page donnée ?

Pourrais-tu envoyer les extraits de ton code, ou à défaut les URL de chaque page qui sont mises en jeu STP ?


@+
Philippe


[[  The Truth is Out There   ]]
0
Codeur php
 
Tu ne peux pas récupérer un cookie d'un autre site, imagine que c'est des infos confidentielles.

Pour tester si le client accepte les cookies, fait ça :
<?php
setcookie('test_cookie', 'essai', time() + 3600);
if(isset($_COOKIE['test_cookie']))
{
header("Location: ton_url.php",1);
}
else
{
echo 'Vous n'acceptez pas les cookies, dommages pour vous :p';
}
0
Codeur php
 
sans oubliez ?> a la fin ^^
0