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 )
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 ?Envoyé par laurentSc
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
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 :Entre la chaise et le clavier ?
test.php :dsrep.php et cookie_2.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :Array
(
[foo] => bar
[PHPSESSID] => a1c1c74dfb88243fbddab192de61fdbf
[NumberOrdered] =>
[OrderId] =>
[login] => laurents
)
sachant qu'avec le code, je m'attends à n'avoir ni "foo", ni "connecte"...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)Tu fais le test sur le serveur en ligne accessible via vercorshandisport.org ou pas ?
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
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 : Sélectionner tout - Visualiser dans une fenêtre à part $res=setcookie("login",$_POST["login"],time()+3214080000,'/','.vercorshandisport.org');et dans un autre répertoire où je veux lire le cookie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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'];
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
Un test ça se fait toujours au plus simple. Là tes scripts sont beaucoup trop compliqués pour isoler un bug.je fais le test suivant
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?Array
(
[PHPSESSID] => d0d5639872118fb8a1ebe78f5b243e33
[login] => laurents
)
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
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 html : Sélectionner tout - Visualiser dans une fenêtre à part <form action="set_cookie_patin.php" method="post">
Oui, merci, comme ça, c'est mieux.
(Quand je clique sur +1, error on page...)
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
Si la discussion est résolue, merci de cliquer sur le bouton
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager