En panne avec switcher.php

Petit nouveau ! | 4 Messages

20 avr. 2006, 14:22

Bonjour,

Jai voulu donner aux visiteurs de mon site, la possibilité de choisir en plus du fond par défaut d’autres couleurs de fond.

( Actuellement en essai uniquement sur la page index.php de mon site )

Dans la racine de mon site j’ai mis le fichier switcher.php :

<?php
setcookie ('sitestyle', $set, time()+31536000, '/', 'lery27', '0');
header("Location: $HTTP_REFERER");
?>

Dans le <head> de la page index.php j’ai inséré :

<link rel="stylesheet" type="text/css" media="screen" title="User
Defined Style" href="<?php echo
(!$sitestyle)?'index':$sitestyle ?>.css" />

( où index est le nom du fichier CSS par défaut. )

J’ ai inséré également dans le <head> les 4 feuilles de styles alternatifs
suivants ( ciel bleu.css/pierre blanche.css/granit.css/sable.css ) :

<link rel="alternate stylesheet" type="text/css" media="screen"
title="ciel bleu" href="./ciel bleu.css" />
<link rel="alternate stylesheet" type="text/css" media="screen"
title="pierre blanche" href="./pierre blanche.css" />
<link rel="alternate stylesheet" type="text/css" media="screen"
title="granit" href="./granit.css" />
<link rel="alternate stylesheet" type="text/css" media="screen"
title="sable" href="./sable.css" />


Et dans le menu, pour appeler les feuilles de styles alternatifs :

<a href="../switcher.php?set=ciel bleu">Ciel bleu</a>
<a href="../switcher.php?set=pierre blanche">Pierre blanche</a>
<a href="../switcher.php?set=granit">Granit</a>
<a href="../switcher.php?set=sable">Sable</a>

Mais rien ne fonctionne.
Après maintes recherches, je n’ai pas trouvé ou se situe(nt)le(s)problème(s).


Mon site est hébergé chez Free.

Url de mon site : http://lery27.free.fr

Merci pour votre aide.

Eléphant du PHP | 353 Messages

20 avr. 2006, 14:25

j'ai pu remarquee que tu as une erreur javacript quand on change la couleur !! quel est la fonctionne javascript que tu execute ?

Petit nouveau ! | 4 Messages

20 avr. 2006, 14:41

j'ai pu remarquee que tu as une erreur javacript quand on change la couleur !! quel est la fonctionne javascript que tu execute ?
Merci d'avoir répondu

Le javascript exécuté: menu.js pour la mise en forme du menu.

J'ai subitement un doute :

Dans le fichier switcher.php :
<?php
setcookie ('sitestyle', $set, time()+31536000, '/', 'lery27', '0');
header("Location: $HTTP_REFERER");
?>
L'indication lery27 est-elle correcte ??

Cordialement

Eléphant du PHP | 353 Messages

20 avr. 2006, 15:01

je pense que c'est mal placé , je suis allé voir le manuel php sur le setcookie => http://be2.php.net/setcookie

setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

le syntaxe correct serait donc :

setcookie ('sitestyle','lery27',$set, time()+31536000, '/', '0');

+++

Invité
Invité n'ayant pas de compte PHPfrance

20 avr. 2006, 16:49

je pense que c'est mal placé , je suis allé voir le manuel php sur le setcookie => http://be2.php.net/setcookie

setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

le syntaxe correct serait donc :

setcookie ('sitestyle','lery27',$set, time()+31536000, '/', '0');

+++
J'ai corrigé switcher.php selon votre indication et je reçois le message suivant:

Warning: setcookie() expects parameter 3 to be long, string given in /var/www/sdb/5/0/lery27/switcher.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /var/www/sdb/5/0/lery27/switcher.php:2) in /var/www/sdb/5/0/lery27/switcher.php on line 3


mais je comprends ce que cela signifie.
Qu'en est-il de l'erreur javascript?

Avec mes plus vifs remeciements

Eléphant du PHP | 353 Messages

20 avr. 2006, 19:46

setcookie ('sitestyle','lery27', time()+31536000, '/', '0');

je sais pas trop , essaie sans le $set !! et puis $set vient de où ?

Petit nouveau ! | 4 Messages

21 avr. 2006, 08:36

setcookie ('sitestyle','lery27', time()+31536000, '/', '0');

je sais pas trop , essaie sans le $set !! et puis $set vient de où ?
Tout fonctionne !

En fait le switcher.php est le suivant :

<?php
setcookie ('sitestyle', $set, time()+31536000, '/', 'free.fr', '0');
header("Location: $HTTP_REFERER");
?>


Je n'ai plus qu'a refaire le head de chaque page.

J'ai trouvé le problème de Java Script que tu m'as signalé au début:
C'était 2 anti slash parasites dans le fichier "menu.php"

En tout cas merci pour ta gentillesse.

Amicalement