PB index.php et changement de CSS
zatox
Messages postés
640
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
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.
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:
- PB index.php et changement de CSS
- Changer de dns - Guide
- Changement d'écriture facebook - Guide
- Changement d'heure - Guide
- Changement clavier azerty - Guide
- Changement carte graphique - Guide
3 réponses
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.
Voilà, Amicalement.