PHP - Petit problème de cookies ... - PHP - Programmation
Marsh Posté le 04-07-2004 à 17:38:06
Ton php.ini est OK ?
Je peux pas te dire plus, j'utilise uniquement les cookies sessions ...
Marsh Posté le 04-07-2004 à 17:46:03
Les cookies sessions ??
Ce sont des variables de sessions utilisant les cookies ou c'est autre chose ?
Je ne sais pas comment voir le php.ini chez l'hébergeur.
J'ai matté les phpinfo et j'ai la meme chose que sur mon serveur Apache (EasyPHP)
Marsh Posté le 06-07-2004 à 18:06:04
J'aurais fais comme ca
Code :
|
Bien entendu je n'ai pas codé la vérification du login et mot de passe.
Je t'ai donné une piste et j'espère qu'elle sera bonne sinon tant pi pour moi
PS: ton $expir me paraît incorrect (je me trompe peut-être)
Teste avec cela: $expir = time() + 3600*24*365;
Ca devrait être mieu
Marsh Posté le 07-07-2004 à 08:48:50
Je peux pas tester parce que je suis au boulot mais j'essaierais ce soir ...
Mais mon problème principal est que une fois sur le serveur, le cookie n'est pas crée (je regarde dans les fichiers) alors qu'en local, il se crée correctement avec setcookie()
Merci, je teste ca apres
Marsh Posté le 09-07-2004 à 09:55:33
Bon, je comprends plus rien ...
Le cookie ne veut pas se créer ... pourtant ca marche en local.
J'ai mis le domaine maintenant mais ca ne marche pas mieux (et ca marche plus en local, logique).
Est ce que quelqu'un aurait une petite idée du pourquoi du comment de mon cookie qui ne se crée pas avec la fonction setcookie.
Mon code :
Code :
|
et un peu plus loin
Code :
|
Merci beaucoup pour votre aide
Marsh Posté le 09-07-2004 à 11:43:47
Le "/" est très important dans tes cookies, tu as bien fait de le rajouter, le "cs-ligue.com" n'est lui pas indispensable.
Je ne comprend pas trop ton:
"if !$Login && !$Password) ", vu que tu fais un isset() juste après pour tester l'existence des variables.
je peux te filer le code qui est sur mon site et qui fonctionne en local comme en ligne:
$expire = 365*24*3600; // (règle l'expiration du cookie à 1 an)
envoie du "cookie"
setcookie("Cookie_pseudo",$S_pseudo,time()+$expire,"/" );
setcookie("Cookie_droits",$S_droits,time()+$expire,"/" );
lecture du cookie:
session_register("S_pseudo" );
$S_pseudo=$Cookie_pseudo;
session_register("S_droits" );
$S_droits=$Cookie_droits;
comme les variables globales sont configurées je n'utilise pas la syntaxe $_COOKIE mais c'est plus clean comme tu fait.
Je ne fait meme pas les test avec isset() car un cookie inexistant ne génère pas d'erreur...
Marsh Posté le 09-07-2004 à 15:02:40
Raaaa ca m'énerve, ca marche toujours pas ....
Le if(!$Login && !$Password) est juste là pour tester si mes variables de sessions n'existent pas déjà .... aucun rapport avec les cookies.
J'ai retiré le domain .cs-ligue.com et ca remarche en local ...
Mais toujours pas sur le serveur distant ...
Comprends pas pourquoi
Marsh Posté le 09-07-2004 à 15:12:56
J'ai trouvé mon pb ...
Pour que ca marche a distance, il faut cocher "Accepter tous les cookies".
Comment le faire marcher avec un niveau de sécurité plus élevé ?
Je vais chercher en attendant
Merci beaucoup
Marsh Posté le 09-07-2004 à 15:56:12
Worldofdada a écrit : |
avec un isset() comme pour tester tes cookies se serait mieux alors...
Ha ben ça c'est clair qu'utiliser les cookies sur une machine qui ne les accepte pas, tu peux te triturer le cerveaux pendant des heures, ça marchera jamais.
Le principe d'un cookie c'est d'écrire un truc sur le machine du visiteur, s'il ne te l'autorise pas c'est mort d'avance...
Marsh Posté le 09-07-2004 à 17:51:31
Ouais mais on peut pas augmenter le niveau de sécurité du cookie lui meme ?
Tous les sites me posent des cookies quand je suis en "Moyen" et là, c'est uniquement quand c'est en "Accepte tous les cookies"
Marsh Posté le 09-07-2004 à 17:58:44
de mémoire je dirais que nom, mais à tout hasard retourne lire la syntaxe de la fonction "setcookie"...
Marsh Posté le 10-07-2004 à 09:59:36
Je vais aller voir ca ... merci
Mais ca doit quand meme etre possible puisque les autres le font ... :-S
Marsh Posté le 04-07-2004 à 16:07:34
Bonjour tout le monde !
Je voudrais mettre un petit cookie tout mimi qui pourrait sauvegarder les login et password de mes visiteurs (pour www.CS-ligue.com) mais j'ai un pb que je ne comprends pas ...
J'ai testé 2-3 trucs et ils marchaient tous sur mon serveur Apache (EasyPHP).
Une fois sur le serveur (j'en ai testé 2 différents), il ne me crée pas le cookie et je ne sais pas pourquoi. J'ai pris exemple sur 3 tutoriels de sites différents mais qui se ressemblaient beaucoup et c'est la meme chose.
J'ai également été voir la doc PHP de la fonction setcookie mais là non plus, ca n'a rien changé.
Est ce que vous avez une petite idée de ce qui peut poser problème ?
Merci
Voici le contenu de ma page .php de test :
<?php
$expir = 365*24*60*60;
setcookie("Cookie_Login", "TEST", $expir);
setcookie("Cookie_Password", "TEST", $expir);
$Login = $_COOKIE["Cookie_Login"];
$Password = $_COOKIE["Cookie_Password"];
echo "$Login ----- $Password";
?>
En local, celà m'affiche TEST ----- TEST à partir du 2eme chargement.
Merci beaucoup
Damien