8791 sujets

Développement web côté serveur, CMS

Bonjour a tous,
ce post est présent en section css a la suite de la premiere question, mais comme le probleme devient d'origine php, je me permet de le poster ici.

Je souhaite faire en sorte qu'un utilisateur puisse changer de feuille de style dynamiquement via un script php. Pour cela j'ai suivi le tuto : Faire un style switcher en PHP

maintenant j'ai ce probleme ci:


Notice: Undefined index: style in c:\documents and settings\administrateur\bureau\site professionel\styles\styleswitcher.inc.php on line 14



Voila les nouveaux codes sur les pages :

le styleswitcher ( la ou il y a l'erreur apparament) :



<?php
function construire_url($dossier)
{
	return 'http://www.kamatra-creations.fr/styles/' . htmlspecialchars($dossier) . '/style.css';
}

$dossiers = array(
	'defaut',
	'style1'
);

$actuel = htmlspecialchars($_SERVER['PHP_SELF']);

if(in_array($_GET['style'], $dossiers, true))
{
	setcookie('style', $_GET['style'], time() + (365 * 24 * 3600));
	$url = construire_url($_GET['style']);
}

else if(in_array($_COOKIE['style'], $dossiers, true))
{
	$url = construire_url($_COOKIE['style']);
}

else
{
	$url = construire_url($dossiers[0]);
}
?>




Ma page php ou je veux lancer le script :



<?php

header('Content-type: text/html; charset=utf-8');

require_once './styles/styleswitcher.inc.php';

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

	<head>

		<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>" />

			<title>Kamatra Cr&eacute;ations Index</title>

				<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

				<meta http-equiv="Content-Style-Type" content="text/css" />

				<meta http-equiv="Content-Language" content="fr" />

				<meta name="Author" content="Kamatra Creations">

				<meta name="Copyright" content="Kamatra Creations">

				<meta name="robots" content="all" />

	</head>



Je précise que j'ai mis le <link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>" /> sur toutes les pages, j'ai peut etre mal fait .. meme si c'est pas lié on sait jamais je prefere le dire.

et ensuite le script php pour les liens qui devront changer les feuilles de styles :



<a href="<?php echo $actuel; ?>?style=defaut">&gt; Theme</a><br />
<a href="<?php echo $actuel; ?>?style=style1">&gt; Theme1</a><br />



Voila j'espere que vous pourrez m'aiguillez,
merci d'avance
Modifié par kamatra (15 Nov 2007 - 12:44)