Bonjour,

Mon souci : l'appel de la feuille de style ne fonctionne pas qu'il y ait un cookie ou pas.
Je pense que cela vient de la construction du chemin dans le fichier php.
J'ai essayé çà :

<?php
function construire_url($dossier)
{
	return 'http://127.0.0.1/monsite/styles/' . htmlspecialchars($dossier) . '/style.css';
}


ou çà :

return '/styles/' . htmlspecialchars($dossier) . '/style.css';


mais rien à faire, ma page s'affiche sans feuille de style Smiley decu
Merci de vos suggestions.
Modifié par chris65 (30 Nov 2007 - 16:30)
Hello chris65 Smiley cligne ,
chris65 a écrit :
<?php
function construire_url($dossier)
{
	return 'http://127.0.0.1/monsite/styles/' . htmlspecialchars($dossier) . '/style.css';
}
si tu tapes directement dans ton navigateur http://127.0.0.1/monsite/ tu arrives bien sur ta page index.php ?
Et ton dossier styles est bien à la racine du site ?

Si oui il faudrait vérifier que le code a bien été repris sans faute de frappe (notamment la partie <a href="<?php ... Smiley murf ).
Oui mon dossier styles se trouve à la racine du site au même niveau que ma page index.php.

Cela ne vient pas de <a href="<?php ... puisque :

1) quand je change mon choix dans la page, le cookie est bien mis à jour (vérification avec firefox) et contient bien le nom du répertoire qui correspond à la css choisie,
2) si j'efface le cookie et que je recharge la page, pas de css chargée (alors que la css par défaut devrait être prise en compte) car mes blocs s'affichent les uns en dessous des autres sans mise en forme ni positionnement.
Ah ! Ça se précise Smiley ravi !

Il me semble que le plus simple serait d'afficher la source de ta page et de regarder la ligne <link ... href=...> pour vérifier ce qui est écrit Smiley cligne .
Modifié par Heyoan (30 Nov 2007 - 14:26)
<?php
header('Content-type: text/html; charset=iso-8859-1');
require './styles/styleswitcher.inc.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Titre</title>
  <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
  <link rel="shortcut icon" type="image/x-icon" href="images/commun/favi.ico">
<!-- La ligne ci-dessus est destinée à I.E et ne respecte pas les standards -->
  <link rel="icon" type="video/x-mng" href="images/commun/favi.ico">

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

J'espère qu'il y a un truc qui va te crever les yeux Smiley cligne parce que moi je vois rien ...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Titre</title>
  <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
  <link rel="shortcut icon" type="image/x-icon" href="images/commun/favi.ico">
<!-- La ligne ci-dessus est destinée à I.E et ne respecte pas les standards -->
  <link rel="icon" type="video/x-mng" href="images/commun/favi.ico">
  <link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="http://127.0.0.1/monsite/styles/defaut/style.css">
</head>

j'ai compris Smiley confused
si je mets çà :
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="styles/defaut/styles.css">

çà fonctionne
si je mets çà :
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="http://127.0.0.1/monsite/styles/defaut/styles.css">

çà fonctionne aussi
si je mets çà :
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>">

avec dans le fichier php :
<?php
function construire_url($dossier)
{
	return 'http://127.0.0.1/monsite/styles/' . htmlspecialchars($dossier) . '/style.css';
}

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

$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]);
}
?>

çà ne fonctionne plus ?!
chris65 a écrit :
function construire_url($dossier)
{
return 'http://127.0.0.1/monsite/styles/' . htmlspecialchars($dossier) . '/style.css';
}
Je me trompe ou il manque un "s" à styles.css Smiley ravi ?
dégouté, écoeuré, des heures de recherche et d'énervement pour un s

Milles excuses pour ce sujet sans intérêt et merci à toi Heyoan.
chris65 a écrit :
dégouté, écoeuré, des heures de recherche et d'énervement pour un s
Eh oui : tu n'avais sans doute jamais été voir la page www.alsacreation.com Smiley lol !

chris65 a écrit :
Milles excuses pour ce sujet sans intérêt et merci à toi Heyoan.
You're welcome Smiley cligne ! Et sinon, histoire de positiver la chose, la méthodologie à employer pour traquer un bug me semble digne d'intérêt et mériterait à elle seule un tuto Smiley smile ...
chris65 a écrit :
dégouté, écoeuré, des heures de recherche et d'énervement pour un s

Ahhhhh !
Toi aussi ?!? Smiley biggol

<edit>Rha, j'me suis fait griller !</edit>
Modifié par Cygnus (30 Nov 2007 - 16:09)
Administrateur
chris65 a écrit :
dégouté, écoeuré, des heures de recherche et d'énervement pour un s

Milles excuses pour ce sujet sans intérêt et merci à toi Heyoan.

Là par contre il n'en faut pas Smiley ravi
Mille est invariable
Modifié par Felipe (30 Nov 2007 - 16:12)
Cygnus a écrit :
<edit>Rha, j'me suis fait griller !</edit>
Smiley nananere
Felipe a écrit :
Là par contre il n'en faut pas Smiley ravi
Mille est invariable
Ce n'est pas ça qu'on appelle "remuer le couteau dans la plaie" Smiley lol ?
Bon, après cette séquence "énervement", vous m'avez arraché un sourire !
A part çà, promis, je vais surveiller mes s ...