PB index.php et changement de CSS

Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 20 mars 2009 à 16:16
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 20 mars 2009 à 18:20
Bonjour, tout d'abord je voudrai savoir dans la construction d'un site web, est-ce qu'il vaut mieux mettre index.php sur la racine puis toutes les autres pages.php dans un sous-dossier (qui s'appellerait par exemple php) ou bien vaut-il mieux avoir tous les fichiers .php y compris bien sûr index.php au même niveau c'est à dire à la racine ?
Ensuite j'ai une autre question: j'ai créé plusieurs fichiers .css pour que l'utilisateur puisse choisir entre plusieurs look différents. Ce choix est effectué sur l'index.php sur lequel j'affiche une liste box contenant les différents thèmes. L'utilisateur choisit un thème puis valide. A ce moment là je positionne un cookie qui contient le nom du fichier .css correspondant au choix de l'utilisateur. Puis je fais un iclude du fichier en question

Le problème est que lorsque l'utilisateur change de thème et qu'il valide, je réaffiche index.php mais j'ai des parties qui correspondent à l'ancien thème et d'autres parties au nouveau thème !!!!
Peut-être avec le code du tout début de index.php ça vaudra mieux que toute explication :

<?php
session_start(); session_name("session_name");
$timestamp_expire = time() + 365*24*3600; // Le cookie expirera dans un an

if (isset($_POST['choix_theme']))
{
$choix_theme = $_POST['choix_theme'];
setcookie('choix_theme', $choix_theme, $timestamp_expire);
}
else
{
if (isset($_COOKIE['choix_theme']))
{
$choix_theme = $_COOKIE['choix_theme'];
}
else
{
$choix_theme = "theme_par_default";
setcookie('choix_theme', $choix_theme, $timestamp_expire); // On écrit un cookie
}
}
?>

<style type="text/css">
<?php
include "css/" . $choix_theme . ".css";
?>

</style>
<?php

<!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>TOCA TANGO LISO </title>
<!--<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>-->
<?php
//Appel aux metatags
include "metatags.php";

?>

<form method="post" action="index.php" target="_blank">

<select name="choix_theme">
<option value="theme1">Theme 1</option>
<option value="theme2">Theme 2</option>

</select>


<input type="submit" value="Valider" />
</form>

</head>

Existe-t-il par exemple une fonction qui ferait un clear screen avant de réafficher ?
Merci pour vos réponses. Je n'ai pas dit que quand l'utilisateur valide une deuxième fois sur le même thème, là ça marche j'ai bien le thème choisi !!!!. J'aurai aimé que ça marche au premier coup. Encore merci pour votre aide.
A voir également:

3 réponses

godLike Messages postés 259 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 26 juillet 2011 26
20 mars 2009 à 16:31
Pour ta première question, je te conseil d'avoir toutes tes pages à la même racine, sauf la page d'admin, il est préférable qu'elle soit dans un sous-dossier, et protégée par un .htaccess




Voilà, Amicalement.
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 65
20 mars 2009 à 18:07
OK, je te remercie pour ta réponse je vais mettre tous les fichiers .php au même niveau et sur la racine.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
20 mars 2009 à 18:20
salut,

1/ à mon avis mieux vaut ranger tes fichiers dans un ou des dossier(s) sinon à partir d'une dizaine de fichiers ça va être le bronx.

2/ le problème ne vient-il pas des CSS elle-mêmes ?
0