Multi-CSS, code PHP pour en changer, et le conserver - HTML/CSS - Programmation
Marsh Posté le 12-02-2005 à 16:36:50
1/ tu n'as pas préciser ce qui ne marche pas
2/ ...ton site semble un peu trop douteux
Marsh Posté le 12-02-2005 à 16:41:02
Ah oui, c'est vrai ..
la première fois que le site est visité, c'est le design "euro" qui s'affiche par défaut.. ensuite, si on en choisis un autre, un cookies est créé avec le choix, et le CSS change aussi. Jusque là, pas de problème.
Mais si on rechange, ça ne fonctionne pas du premier coup, il faut réactualiser la page...J'ai vérifié, le cookie a bien changé, mais le design pas, il est tjs au précédent.
Après actualisation, ça fonctionne.. mais c'est ennuyeux quand même ..
J'ai aussi ce message d'erreur lorsque j'actualise la page :
Marsh Posté le 12-02-2005 à 16:46:16
non, en POST vu que la variable arrive d'un formulaire ou method="post" ..
Marsh Posté le 12-02-2005 à 16:48:27
Sorgues_ a écrit : non, en POST vu que la variable arrive d'un formulaire ou method="post" .. |
Ok, mais donc, la fenêtre POSTDATA blablabla sera toujours là en cas d'actualisation de ta page.
Marsh Posté le 12-02-2005 à 16:56:10
et si je mets GET .. $_POST ne sera pas pris en compte ? ..
Marsh Posté le 12-02-2005 à 17:15:16
Tu as 2 possiblitées :
1) Utiliser la methode "get" et le tableau $_GET
2) Utiliser la methode "post" et le tableau $_POST, mais passer par un page "intermediaire". En gros ton formulaire, une fois valide, va redirige vers une page. Dans cette derniere tu cree ton cookie. Ensuite le cookie cree, tu redirige vers ton index. Ds l'index tu examines la valeur du cookie et tu mets le css correspondant. De cette facon, meme si tu recharge la page tu n'auras pas cette boite de confirmation.
Marsh Posté le 12-02-2005 à 18:15:18
probléme php et pas html.
Solution, changer le contenu de la variable de session et pas uniquement la valeur qui sera envoyé dans le cookie du navigateur avec la page en couirt de préparation.
Marsh Posté le 13-02-2005 à 16:44:00
Cerel a écrit : Tu as 2 possiblitées : |
Merci beaucoup, ton idée ma sauvé, j'y suis enfin arrivé !!!
Marsh Posté le 12-02-2005 à 16:33:37
J'ai fait plusieurs design pour mon site web, j'ai créer un menu déroulant proposant les différent choix, j'ai ensuite mis au début de ma page, un code en IF ELSE, mais il ne marche qu'a moitié ...
voici le code du menu déroulant :
<div id="minimenudesign"><b>Designs [3] :</b><br/><form action="" method="post"/>
<select class="deroulant" name="choix_design" align="center">
<option value="euro">uro</option>
<option value="greendos">Green Dos</option>
<option value="modern">Modern</option>
</select><br/><input type="submit" value="OK"/>
</form>
</div>
Voici le code en début de la page :
<?
session_start ();
// choix du design
if (isset($_POST['choix_design'])) // si un design a été choisis, création du cookie
{
$timestamp_expire = time() + 30*24*3600;
setcookie('choix_design', $_POST['choix_design'], $timestamp_expire);
$choix_design = $_COOKIE['choix_design'];
}
elseif (isset($_COOKIE['choix_design'])) // si un cookie a été créé, lecture du cookie
{
$choix_design = $_COOKIE['choix_design'];
}
else // sinon, css par défaut
{
$choix_design = "euro";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>.:: Mon Chouette Site sur les chiotts ::. </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Euro" href="<? echo $choix_design ?>.css" />
</head>
Merci de votre aide.. parce que là j'y arrive pas. Ils ont fait pareil sur le site www.openweb.org
Message édité par Sorgues_ le 12-02-2005 à 16:38:44