Titre: Problème de cookis
Posté par: hanunam le le 09-06-2006 a 01:03:10
Bonjour
Donc quand j'arrive sur mon site, le css mis en place est funky_design si je passe sous default_design avec mon menu Et que une fois sous default_design je change de page je reviens sous le funky_design.
ce problèle ce fait que ce soit avec ce code :
Code:
<?php
if (isset($_GET['style'])) { if ($_GET['style'] =="funky_design") { setcookie('design', 'funky_design', time() + 365*24*3600); $design = 'funky_design'; } elseif ($_GET['style'] =="default_design") { setcookie('design', 'default_design', time() + 365*24*3600); $design = 'default_design'; } } elseif (!isset($_COOKIE['design'])) { setcookie('design', 'funky_design', time() + 365*24*3600); $design = 'cannabis_design'; } else { $design = $_COOKIE['design']; }
echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'
?>
|
|
là il m'indique :| Warning: Cannot modify header information - headers already sent by (output started at /home/hanunam/www/Accueil.php:1) in /home/hanunam/www/design.php on line 8 |
|
ou avec ce code :
Code:
<?php
if(isset($_GET['style'])) { if ($_GET['style'] == funky_design) { $_COOKIE['design']="funky_design"; } elseif ($_GET['style'] == default_design) { $_COOKIE['design']="default_design"; } } if(!isset($_GET['style'])) { $_COOKIE['design']="funky_design"; } echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$_COOKIE['design'].'" href="'.$_COOKIE['design'].'.css" />'
?>
|
|
ça me marque pas d'erreur mais ça marche pas :D
|
Titre: Re:Problème de cookis
Posté par: real34 le le 09-06-2006 a 07:39:38
Pour ta seconde solution, il manque un ; à la ligne de ton echo.
Pour ta première version, ton problème est du au fait que tu envoie un cookie sans doute après avoir échrit quelque chose dans le flux de sortie de la page. |
Titre: Re:Problème de cookis
Posté par: hanunam le le 09-06-2006 a 11:30:33
Pour ta première version, ton problème est du au fait que tu envoie un cookie sans doute après avoir échrit quelque chose dans le flux de sortie de la page.
|
|
Non j'ai fais gaf à ça :D
sinon :
ça marche toujours pas avec ce code :
Code:
<?php
if(isset($_GET['style'])) { if ($_GET['style'] == funky_design) { setcookie('design', 'default_design', time() + (3600*24*365)); $_COOKIE['design']="funky_design"; } setcookie('design', 'default_design', time() + (3600*24*365)); elseif ($_GET['style'] == default_design) { setcookie('design', 'default_design', time() + (3600*24*365)); $_COOKIE['design']="default_design"; } } if(!isset($_COOKIE['design'])) //si le aucun cookie n'est chargé { setcookie('design', 'default_design', time() + (3600*24*365)); $_COOKIE['design']="funky_design"; } echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$_COOKIE['design'].'" href="'.$_COOKIE['design'].'.css" />'
?>
|
|
| Parse error: parse error, unexpected T_ELSEIF in /home/hanunam/www/design.php on line 11 |
|
|
Titre: Re:Problème de cookis
Posté par: real34 le le 09-06-2006 a 15:44:01
Normal, tu as : setcookie('design', 'default_design', time() + (3600*24*365)); entre la fin de tonif et le début de ton else if !!!
Aussi, il manque un ; à la fin de ton code.
Enfin, vas faire un tour ici : http://fr3.php.net/manual/fr/function.setcookie.php car je ne pense pas que tu ai bien compris le fonctionnement des cookies. En effet, $_COOKIE['design']="default_design"; ne modifie pas ton cookie il me semble ;) |
Titre: Re:Problème de cookis
Posté par: hanunam le le 09-06-2006 a 16:31:47
maintenant utilisé ce code qu'on m'a donné et qui marche du tonnerre, c'est les sessions :
Code:
<?php session_start(); ?> <html> <head> <title>Accueil</title> <?php if(!isset($_SESSION['design'])) { echo '<link rel="stylesheet" media="screen" type="text/css" title="default_design" href="default_design.css" />'; } else { echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'; } ?> |
|
Code:
<h3>Change le design du site :D :</h3><br /> <form name="mescss" method="post" action="<?php $_SERVER['PHP_SELF']; ?>"> <select name="style"> <option value="1">funky_design</option> <option value="2">default_design</option> </select> <input type="submit" value="Valider" /> </form> |
|
Code:
<?php if ($style== '1') { $design = 'funky_design'; }
else { $design = 'default_design'; }
?> |
|
Donc voilà mon problème est résolu Merci à tous ceux qui ont essayé de m'aider |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|