Problème pour récupérer la valeur d' un cookie

Répondre
Bzh
le 26/03/2005 à 16:57
Bzh
Bonjour tout le monde...

Voilà, je comprends pas du tout, mais je n' arrive pas à récupérer la valeur du cookie pourtant il est bien présent dans le navigateur !!!

Voilà mon code:

  1. <?php
  2. if( isset($_POST['D1'])){ session_start();

  3. $temps = time() + 365*24*3600;
  4. $location = "Location: ../index.php";

  5. setcookie ("zoneprivate_style", $_POST['D1'], $temps);
  6. $_SESSION['style'] = $_POST['D1'];

  7. header($location);

  8. }else{

  9. if(isset($_COOKIE['zoneprivate_style'])){ $_SESSION['style'] = $_COOKIE['zoneprivate_style']; }



  10. if(isset($_SESSION['style'])){

  11. echo "<link href=\"feuilles_de_styles/style".$_SESSION['style'].".css\" rel=\"stylesheet\" type=\"text/css\">";

  12. }else{

  13. echo "<link href=\"feuilles_de_styles/style1.css\" rel=\"stylesheet\" type=\"text/css\">";

  14. }
  15. }
  16. ?>


Ciao...
Bzh
le 27/03/2005 à 16:49
Bzh
J' essaye un peu de relancer mon sujet !!!smiley

Je comprends pas...
Je n' arrive pas à récupérer la valeur de mon cookie et pourtant lorsque je regarde dans les cookies de mon navigateur il est bien là...

Là sérieu je ne vois pas...

Si quelqu' un pourrais me donner une petite astuce ou quoique se soit se serait vraiment cool !!!

Ciao...
Keny
le 27/03/2005 à 18:16
Keny
Salut.

form.php : le formulaire

form_traitement.php : pour traiter les données du formulaire

cookie.php : pour afficher l'information contenue dans le cookie.

  1. // fichier form.php

  2. <HTML>

  3. <BODY>

  4. <?php

  5. // si le cookie existe et n'est pas vide, on affiche sa valeur

  6. if ($_COOKIE['pseudo'] != "") {

  7. echo 'Bonjour '.$_COOKIE['pseudo'].' !';

  8. }

  9. /*

  10. si le cookie n'existe pas, on affiche un formulaire permettant au visiteur de saisir son pseudo

  11. */

  12. else {

  13. echo'<TABLE ALIGN="center">';

  14. // on fait pointer le formulaire vers la page traitant les données

  15. echo'<FORM ACTION="./form_traitement.php" METHOD="post">';

  16. echo'<B>Pseudo : </B><INPUT TYPE="text" NAME="pseudo" SIZE="40"><BR><BR>';

  17. echo'<INPUT TYPE="submit" VALUE="Poster" SIZE="10">';

  18. echo'</FORM></TABLE>';

  19. }

  20. ?>

  21. </BODY>

  22. </HTML>

  23. // fichier form_traitement.php

  24. <?

  25. if (isset($_POST['pseudo']))

  26. $pseudo = $_POST['pseudo'];

  27. else

  28. $pseudo = "";

  29. // fonction nous permettant de faire des redirections

  30. function redirection($url){

  31. if (headers_sent()){

  32. print('<meta http-equiv="refresh" content="0;URL='.$url.'">');



  33. else {

  34. header("Location: $url");

  35. }

  36. }

  37. // on teste le contenu de la variable $pseudo

  38. if ($pseudo=="") {

  39. echo '<BODY onLoad="alert(\'Le pseudo est vide...\')">';

  40. redirection('./form.php');

  41. exit;

  42. }

  43. // si tout est bon, on peut créer le cookie

  44. else {

  45. // on définit une durée de vie de notre cookie (en secondes), un an dans ce cas

  46. $temps = 365*24*3600;

  47. /*

  48. on envoie un cookie de nom 'pseudo' portant la valeur de la variable $pseudo,

  49. c'est-à-dire la valeur qu'a saisi la personne qui a rempli le formulaire et on limite

  50. son champ d'action au domaine qui l'a créé avec "/" (le cookie ne pourra être lu que par un script appartenant au site qui l'a créé)

  51. */

  52. setcookie("pseudo",$pseudo, time() + $temps,"/");

  53. /*

  54. on redirige vers cookie.php qui va afficher l'information que l'on vient d'inscrire dans le cookie

  55. */

  56. redirection('./cookie.php');

  57. // on stop le script.

  58. exit;

  59. }

  60. ?>

  61. // fichier cookie.php

  62. <HTML>

  63. <HEAD>

  64. <TITLE>Page de récupération du cookie</TITLE>

  65. </HEAD>

  66. <BODY>

  67. <?php

  68. if ($_COOKIE['pseudo'])

  69. echo 'Votre pseudo est '.$_COOKIE['pseudo'];

  70. else

  71. echo 'Aucun cookie présent';

  72. ?>

  73. </BODY>

  74. </HTML>


ATTENTION :
Le setcookie, comme le session_start(), doit être positionné dans le script avant toute sortie HTML.

++
Little Keny
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours