Se connecter avec
S'enregistrer | Connectez-vous

Problème de Cookies

Dernière réponse : dans Programmation

Bonjour, alors je débute direct par vous montrer les codes concernés :D  :

ça c'est la page de l'include :
  1. <?php
  2.  
  3. <?php
  4.  
  5. if (isset($_GET['style']))
  6. {
  7. if ($_GET['style'] =="funky_design")
  8. {
  9. setcookie('design', 'funky_design', time() + 365*24*3600);
  10. $design = 'funky_design';
  11. }
  12. elseif ($_GET['style'] =="default_design")
  13. {
  14. setcookie('design', 'default_design', time() + 365*24*3600);
  15. $design = 'default_design';
  16. }
  17. }
  18. elseif (!isset($_COOKIE['design']))
  19. {
  20. setcookie('design', 'funky_design', time() + 365*24*3600);
  21. $design = 'cannabis_design';
  22. }
  23. else { $design = $_COOKIE['design']; }
  24.  
  25. echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'
  26.  
  27.  
  28. ?>


truc byzarre mais avec code j'ai le problème de header que avec le funky_design et pas avec default_design
et ce sur n'importe quel page meme si j'ai pas mis l'include tout en haut

ça, c'est la page où est inséré l'include :

  1. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" lang="fr">
  2. <head>
  3. <title>Accueil</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5.  
  6. <?php
  7. // On inclue le haut de la page
  8. include("design.php");
  9. ?>
  10.  
  11.  
  12. <base target="_top">
  13.  
  14.  
  15. </head>
  16. <body>
  17. <div id="en_tete">
  18.  
  19.  
  20. </div>
  21.  
  22. <div id="menu">
  23. <div class="element_menu">
  24. <?php
  25.  
  26. // On inclue le haut de la page
  27. include("menu.php");
  28.  
  29. ?>
  30. </div>
  31. </div>
  32.  
  33. <div id="corps">
  34. <h1>Mon Site</h1>
  35.  
  36.  
  37. <?php
  38. echo 'Aujourd\'hui, nous sommes le : ' . date('d/m/Y');
  39. ?>
  40.  
  41.  
  42.  
  43. <?php
  44. echo 'il est avec précision ( la classe :p ) : ' . date('H\h i\m\i\n s\s');
  45. ?>
  46.  
  47. <p>
  48.  
  49. Bonjour, je me prénomme Manson, j'ai créé ce site pour le plaisir d'appliquer mes connaissances et par la même occasion partager un peu de ma vie avec les personnes qui visiteront ce site.
  50.  
  51. J'espère que vous ne serez pas déçus de ce site et dans la foulée de moi.
  52.  
  53. Ce site, publié le Samedi 19 Février, risque de s'améliorer encore avec le temps donc n'hésitez pas à revenir de temps en temps.
  54.  
  55.  
  56.  
  57.  
  58. Merci
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. <?php
  67. mysql_connect("***********", "********", "********");
  68. mysql_select_db("***************");
  69.  
  70. // On récupère les 5 dernières news
  71. $retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 3');
  72. while ($donnees = mysql_fetch_array($retour))
  73. {
  74. ?>
  75.  
  76. <div class="news">
  77.  
  78. <h3>
  79. <?php
  80. echo $donnees['titre'];
  81. ?>
  82.  
  83. <em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
  84. </h3>
  85.  
  86. <p>
  87. <?php
  88. // On enlève les éventuels antislash PUIS on crée les entrées en HTML (
  89. )
  90. $contenu = nl2br(stripslashes($donnees['contenu']));
  91. echo $contenu;
  92. ?>
  93. </p>
  94. </div>
  95.  
  96. <?php
  97. } // Fin de la boucle des news
  98. ?>
  99.  
  100.  
  101.  
  102.  
  103.  
  104. PS : ce site n'est pas encore aux normes W3C donc il est fortement recommandé de le visiter depuis mozilla firefox pour une meilleure vue ;)
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. <FONT COLOR="#00CC00">
  116. <center>
  117.  
  118. <?php
  119. // Connexion à MySQL
  120. mysql_connect("*********", "***********", "*******");
  121. mysql_select_db("********");
  122.  
  123. // -------
  124. // ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
  125. // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
  126. $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
  127. $donnees = mysql_fetch_array($retour);
  128.  
  129. if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
  130. {
  131. mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
  132. }
  133. else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
  134. {
  135. mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
  136. }
  137.  
  138. // -------
  139. // ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
  140.  
  141. // On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
  142. $timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
  143. mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
  144.  
  145. // -------
  146. // ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
  147. $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
  148. $donnees = mysql_fetch_array($retour);
  149.  
  150.  
  151. // Ouf ! On n'a plus qu'à afficher le nombre de connectés !
  152. echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>';
  153. ?>
  154.  
  155.  
  156. Nombre Total De Visiteurs Depuis le Mardi 7 Mars 2006 :
  157.  
  158.  
  159.  
  160. <script type="text/javascript" src="<a href="http://www.ovnet.net/cpt/?code=6/28/6086/0/1&ID=38313" target="_blank">http://www.ovnet.net/cpt/?code=6/28/6086/0/1&ID=38313</a>"></script>
  161.  
  162. </center>
  163. </FONT>
  164. </p>
  165. </div>
  166.  
  167.  
  168. <div id="pied_de_page">
  169. <?php
  170. // On inclue le haut de la page
  171. include("pied de page.php");
  172. ?>
  173. </div>
  174. </body>
  175. </html>


et ça c'est le code de mon menu déroulant :
  1. <h3>Change le design du site :D :</h3>
  2.  
  3. <form name="mescss" method="get" action="<?php $_SERVER['PHP_SELF']; ?>">
  4. <select name="style">
  5. <option value="1">funky_design</option>
  6. <option value="2">default_design</option>
  7. </select>
  8. <input type="submit" value="Valider" />
  9. </form>



Donc voilà mon problème, j'ai crée deux designs
et un menu déroulent pour que le visiteur puisse le changer
mais le cookie ne passe pas
et me donne différentes erreur comme le header qui existe pas ^_^

Autres pages sur : probleme cookies

Lassé par la pub ? Créez un compte

  1. <?php <------ en trop
  2.  
  3. <?php
  4.  
  5. if (isset($_POST['style']))
  6. {
  7. if ($_POST['style'] =="funky_design")
  8. {
  9. setcookie('design', 'funky_design', time() + 365*24*3600);
  10. $design = 'funky_design';
  11. }
  12. elseif ($_POST['style'] =="default_design")
  13. {
  14. setcookie('design', 'default_design', time() + 365*24*3600);
  15. $design = 'default_design';
  16. }
  17. }
  18. elseif (!isset($_COOKIE['design']))
  19. {
  20. setcookie('design', 'funky_design', time() + 365*24*3600);
  21. $design = 'cannabis_design';
  22. }
  23. else { $design = $_COOKIE['design']; }
  24.  
  25. echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'
  26.  
  27.  
  28. ?>


ensuite le menu deroulant

  1. <form name="mescss" method="post" action="">
  2. <select name="style">
  3. <option value="1">funky_design</option>
  4. <option value="2">default_design</option>
  5. </select>
  6. <="submit" value="Valider" />
  7. </form>




ca devrait fonctionner.

maintenant utilisé ce code qu'on m'a donné et qui marche du tonnerre, c'est les sessions :

  1. <?php
  2. session_start();
  3. ?>
  4. <html>
  5. <head>
  6. <title>Accueil</title>
  7. <?php
  8.  
  9. if(!isset($_SESSION['design']))
  10. {
  11. echo '<link rel="stylesheet" media="screen" type="text/css" title="default_design" href="default_design.css" />';
  12. }
  13. else
  14. {
  15. echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />';
  16. }
  17. ?>

  1. <h3>Change le design du site :D :</h3>
  2.  
  3. <form name="mescss" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
  4. <select name="style">
  5. <option value="1">funky_design</option>
  6. <option value="2">default_design</option>
  7. </select>
  8. <input type="submit" value="Valider" />
  9. </form>

  1. <?php
  2. if ($style== '1')
  3. {
  4. $design = 'funky_design';
  5. }
  6.  
  7. else {
  8. $design = 'default_design';
  9. }
  10.  
  11. ?>

Donc voilà mon problème est résolu
Merci à tous ceux qui ont essayé de m'aider
Lassé par la pub ? Créez un compte
Tom's guide dans le monde