Salut,
Je me suis permis d'aller faire le test en live avec IE8 et j'obtiens bien...
dans ta page cookie_2.phpArray ( [PHPSESSID] => cf7f96a2f8575b85effd38537bda5bb0 [foo] => bar )
Version imprimable
Salut,
Je me suis permis d'aller faire le test en live avec IE8 et j'obtiens bien...
dans ta page cookie_2.phpArray ( [PHPSESSID] => cf7f96a2f8575b85effd38537bda5bb0 [foo] => bar )
Entre la chaise et le clavier ? :haha:Citation:
Envoyé par laurentSc
:dehors:
Facile...mais j'ai un problème moins simple : je fais le test suivant ; j'ai une page où je positionne des cookies, puis une page dans le même répertoire où je lis ces cookies et une autre dans un autre répertoire où je lis ces mêmes cookies, et le résultat est différent :Citation:
Entre la chaise et le clavier ?
test.php :dsrep.php et cookie_2.php :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php setcookie('foo', '',time()-1000000,'/','.vercorshandisport.org'); setcookie('login','laurents',time()+1000000,'/','.vercorshandisport.org'); setcookie('connecte','',time()-1000000,'/','.vercorshandisport.org'); ?> <!doctype html> <html lang="fr"> <head> <meta charset="utf-8" /> <title>Cookie</title> <script> alert(document.cookie); </script> </head> <body> <a href="dsrep.php">ds rep</a><br> <a href="../action_sidentifi/cookie_2.php">cookie_2.php</a> </body> </html>
J'ai inclus un rafraichissement de la page.Code:
1
2
3
4
5
6
7
8
9
10
11 <?php header('Cache-Control: no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); echo '<pre>' ; print_r($_COOKIE) ; ?>
avec dsrep.php, on a :et avec cookie_2.php :Citation:
Array
(
[foo] => bar
[PHPSESSID] => a1c1c74dfb88243fbddab192de61fdbf
[NumberOrdered] =>
[OrderId] =>
[login] => laurents
)
sachant qu'avec le code, je m'attends à n'avoir ni "foo", ni "connecte"...Citation:
Array
(
[connecte] => true
[PHPSESSID] => a1c1c74dfb88243fbddab192de61fdbf
[NumberOrdered] =>
[OrderId] =>
[login] => laurents
)
Oui, tout se passe bien sur ce serveur. (et pour Eric2A, moi aussi, je suis sur IE8)Citation:
Tu fais le test sur le serveur en ligne accessible via vercorshandisport.org ou pas ?
Comme il y a un problème (incompréhensible) de lecture du cookie, j'ai imaginé une bidouille à base de iframe et de variable de session pour que la lecture se fasse systématiquement dans le répertoire où le cookie est créé :
dans action_sidentifi/index.php :dans action_sidentif/lire_cookie.php :Code:$res=setcookie("login",$_POST["login"],time()+3214080000,'/','.vercorshandisport.org');
et dans un autre répertoire où je veux lire le cookie :Code:
1
2
3
4
5
6
7
8
9 <?php session_start(); function lire_cookie() { return($_COOKIE['login']); } $_SESSION['login']=lire_cookie(); print_r($_COOKIE) ; echo "<br>cookie login=".$_COOKIE['login']."<br>session login=".$_SESSION['login']."<br>";
Mais dans lire_cookie, pas de $COOKIE['login'] (et le "print_r" le montre) : quelqu'un comprend-il le problème ? (et un affichage de $_POST['login'] montre qu'il est bon)Code:
1
2
3
4 session_start(); ... echo '<iframe src="../action_sidentifi/lire_cookie.php" frameborder=no width=0 height=0></iframe>'; $cookie_login=$_SESSION['login'];
Un test ça se fait toujours au plus simple. Là tes scripts sont beaucoup trop compliqués pour isoler un bug.Citation:
je fais le test suivant
J'ai un peu simplifié test.php :
pas touché aux deux autres pages et testé le tout sous FF (alors que je n'avais testé que sous IE). Et là, surprise, j'ai la même chose et beaucoup plus simple :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php setcookie('login','laurents',time()+1000000,'/','.vercorshandisport.org'); ?> <!doctype html> <html lang="fr"> <head> <title>Cookie</title> </head> <body> <a href="dsrep.php">ds rep</a><br> <a href="../action_sidentifi/cookie_2.php">cookie_2.php</a> </body> </html>
donc du coup, ma "bidouille" ne se justifie peut-être plus. (Curieux, car sous IE, il n'y a pas 2 cookies mais 5, avec une variante selon le répertoire). Par contre, dans le post de 22h08, même si on laisse tomber la bidouille, il reste anormal que lire_cookie.php ne voit pas le cookie : as-tu une idée ?Citation:
Array
(
[PHPSESSID] => d0d5639872118fb8a1ebe78f5b243e33
[login] => laurents
)
Après une pause, je reviens avec mon problème de cookie ; comme j'avais un doute, j'ai testé 2 hébergeurs, mais même problème.
Voici mon test actuel :
cookie.html :
set_cookie_patin.php :Code:
1
2
3 <form action="set_cookie_patin.php"> Valeur du cookie : <input type="text" name="cookie"> <input value="send" type="submit"></form>
et cookie2.php :Code:
1
2
3
4
5
6 <?php header('Content-Type: text/html; charset=utf-8'); $cookie=$_POST['cookie']; setcookie('val_cookie',$cookie,time()+60*60*24*365,'/','.villarddelanspatinage.fr'); echo '<a href="cookie2.php">Lire cookie</a>'; ?>
et le cookie 'val_cookie' n'est pas vu (même pas dans le print_r) ; quelqu'un aurait-il une explication ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php header('Content-Type: text/html; charset=utf-8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="content-type"> <title>cookie</title> </head> <body> <?php echo '<pre>' ; echo "cookies : "; print_r($_COOKIE) ; echo "valeur du cookie :".$_COOKIE['val_cookie']."<br>"; ?> </body> </html>
Si l'attribut method n'est pas spécifié, les champs passent par l'URL (méthode GET).
Dans ton cas, tu dois spécifier que tu utilises la méthode POST.
Code:<form action="set_cookie_patin.php" method="post">
Oui, merci, comme ça, c'est mieux. :ccool:
(Quand je clique sur +1, error on page...:()