8797 sujets

Développement web côté serveur, CMS

Bonjour a vous.....

J'essaie de mettre en œuvre le script (ci-dessous)

http://css.alsacreations.com/Tutoriels-PHP/Faire-un-Style-switcher-changement-d-habillage-en-PHP

...mais quand j'essaie de lancer ma page il me donne 2 erreurs (Warning: require_once(/styles/styleswitcher.inc.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 2.0b1\www\martin\styles\index.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '/styles/styleswitcher.inc.php' (include_path='.;C:/Program Files/EasyPHP 2.0b1\php5\pear\') in C:\Program Files\EasyPHP 2.0b1\www\martin\styles\index.php on line 3)...et je n'ai aucune idée comment contrer le probleme.

Merci a l'avance
Modérateur
Salut Tintin et bienvenue sur le forum,

Soit le chemin est mauvais soit ta syntaxe est mauvaise. À savoir que la fonction require() et require_once() sont des fonctions qui peuvent génèreer des erreur fatal quand la syntaxe ou que le chemin est mauvais.

Voici la syntaxe exact :

<?php
require([b]"[/b]mon_chemin_sans_espace_et_caractere_strange/ma_page_avec_sans_espace_et_caractere_strange.php[b]"[/b]);
?>


++
Merci ...tout semble fonctionner mieux comme ça....Petite question a nouveau....

A quoi sert cette ligne de code exactement...elle semble me causer probleme pour le moment...

function construire_url($dossier)
{
return 'http://www.site.com/styles/' . htmlspecialchars($dossier) . '/style.css';
}

Je sais que la derniere partie fais allusion au code pour le cripter....mais la premiere partie me semble un peu vague.....J'y met l'adresse de mon localhost ...ou bien comme je suis pas en ligne..je la met en commentaire pour le moment.

merci
tintin68 a écrit :
A quoi sert cette ligne de code exactement...elle semble me causer probleme pour le moment...
Elle sert à déterminer l'url vers la bonne feuille de style en fonction du choix qui a été effectué... et elle est donc essentielle ! Smiley cligne

Bien sûr tu as le choix entre un chemin absolu ou relatif. Dans le premier cas il faudra effectivement une version en local (avec localhost) et une version en ligne.

A+
Hé Hé....

Je dois dabord vous remercier ...vous êtes tous d'une tres grande aide pour moi. J'ai appliqué le code maintenant il m'ouvre une fenetre (titre de la page styleswitcher) avec mes 5 choix de style..(wow...bon départ...lol) mais quand je click sur le lien rien ne se passe...(snif snif). Je vous colle le code de mes 2 pages(peut-etre qu'un gentil sauveur pourra m'aider.) Merci en avance.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Styleswitcher</title>
</head>

<body>
<?php
function construire_url($dossier)
{
return 'martin/index.php/styles' . htmlspecialchars($dossier) . '/style.css';
}

$dossiers = array(
'defaut',
'whitesmoke',
'lemonchiffon',
'honeydew',
'lightcyan'
);

$actuel = htmlspecialchars($_SERVER['PHP_SELF']);
$new_style = (isset($_GET['style'])) ? $_GET['style'] : '';
$cookie_style = (isset($_COOKIE['style'])) ? $_COOKIE['style'] : '';

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

else if(in_array($cookie_style, $dossiers, true))
{
$url = construire_url($cookie_style);
}

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

</body>
</html>


et pour l'autre page :

<?php
header('content-type: text/html; charset=utf-8');
require_once("styles/styleswitcher.inc.php");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>index</title>
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>" />
<ul id="styleswitcher">
<li><a href="<?php echo $actuel; ?>?style=defaut">mon style par defaut</a></li>
<li><a href="<?php echo $actuel; ?>?style=whitesmoke">Whitesmoke</a></li>
<li><a href="<?php echo $actuel; ?>?style=lemonchiffon">Lemonchiffon</a></li>
<li><a href="<?php echo $actuel; ?>?style=honeydew">Honeydew</a></li>
<li><a href="<?php echo $actuel; ?>?style=lightcyan">Lightcyan</a></li>
</ul>

</head>


<body>
</body>
</html>

J'ai créé un dossier (test) dans lequel j'ai mon index.php + dossier (styles) dans lequel j'ai mis mes 5 dossier styles + ma page styleswitcher.inc.php.

et voila..

Merci, Martin