Aller au contenu

Script switcher et EasyPhp


Sujets conseillés

Posté

Bonjour,

J'ai appliqué, sur un site en html, le script du switcher trouvé à cette adresse :

http://ben2boot.com/tech/traductions/ala/phpswitch/

j'ai utilisé la méthode simple du lien href dans le body des pages, avec le code suivant :

<div id="apparence">

Choisissez l'apparence du site<br />

<a href="switcher.php?set=fushia">Fushia</a><br />

<a href="switcher.php?set=frise">Frise</a></div>

j'ai inséré également ce code dans le head des pages :

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

et j'ai créé un fichier switcher.php qui se trouve dans le même répertoire que mes pages et qui contient le code suivant :

<?php

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

header("Location:$HTTP_REFERER");

?>

avec le nom du domaine du site à la place de mondomaine.

j'ai mis tout ça en ligne et ça marche.

voici mon problème :

pour la mise à jour du site, j'ai téléchargé Easyphp, j'ai ouvert un répertoire Monsite dans le dossier www d'Easyphp, j'y ai mis la totalité du site, exactement tel qu'il est chez mon hébergeur, donc en état de marche.

lorsque j'ouvre mon site avec le navigateur en local, je n'ai que les pages sans style.

j'ai remis sur une page le lien classique de feuille de style (link rel ...href="fushia.css" />) et la page apparait avec son style.

c'est donc le switcher qui pose problème en local.

j'ai essayé de remplacer dans le code du switcher 'mondomaine' par 'localhost:port' mais ça ne change rien.

Merci d'aider une totale débutante. :blink:

Posté

Pour ton switcher (je n'aza pas eu le temps d'aller visiter le site il n'y a pas un fichier de cofig ou il faudrait que tu modifies tes infos (celle de l'hebergeur ) par celle de easyPHP

"root"

""

"test"

Posté

CraJK Ecrit le lundi 06 septembre 2004, 10:47

Pour ton switcher (je n'aza pas eu le temps d'aller visiter le site il n'y a pas un fichier de cofig ou il faudrait que tu modifies tes infos (celle de l'hebergeur ) par celle de easyPHP

"root"

""

"test" 

c'est ce que j'ai essayé de faire en remplaçant 'mondomaine' par 'localhost:port", sinon, je ne sais pas quoi faire d'autre.

petit-ourson Ecrit le lundi 06 septembre 2004, 12:26

un problème avec le php.ini et la variables register_global qui doit être sur off

Change tous les $set de tes scripts en $_REQUEST['set']

Merci, je viens d'essayer, mais ça ne change rien.

Une autre idée ? :unsure:

Posté

toujours rien avec la variable sur On.

Tant pis.

En tout cas, merci à tous les deux, CraJK et petit-ourson, d'avoir essayé.

:flower:

Posté

Bonjour,

Pour ce qui est de l'utilisation du 'switcher', je te suggère de passer par un 'include', qui y trouvera là un usage plus 'naturel'.

Pour ce qui est de la feuille de style, tu devrais essayer la balise 'base href', telle que définie sur le site du w3c :

http://www.w3.org/TR/REC-html40/struct/links.html#edef-BASE

Pour ce qui est de 'easyphp', tu devrais essayer une alternative, ca il pose plusieurs problèmes. (beaucoup de problèmes de configuration, notamment)

un problème avec le php.ini et la variables register_global qui doit être sur off

Change tous les $set de tes scripts en $_REQUEST['set'] 

Merci, je viens d'essayer, mais ça ne change rien.

Pour ce qui est du 'register', tu aurais du essayer le $_POST['set'], qui devrait marcher.

Voilà,

n'hésites pas, si ca ne marche toujours pas ;)

Anonymus.

Posté

Bonjour Anonymus,

voilà où j'en suis :

1. je n'ai pas compris l'utilité de la balise "base" dans mon cas, puisque mes feuilles de style sont bien reconnues sauf avec le script du switcher.

2. le $_POST['set'] ne marche pas, ni le GET.

3. en revanche, ce que j'ai compris c'est que c'était trop compliqué encore pour moi, vu mon niveau zéro en php, donc j'ai décidé de garder le problème sous le coude et d'appliquer un script que j'ai trouvé sur PhpDébutant, qui se sert des "include" mais que je dois adapter (donc beaucoup de temps à prévoir !!).

merci pour ton aide, ça m'a permis de trouver une autre piste.

:flower:

PS. Bravo pour ta promotion

Posté

Salut MissMonde,

Pour accéder au cookie, il faut utiliser $_COOKIE['sitestyle'] ;)

Fais un essai avec ce bout de code:

<?php
$set="fuschia";
if (! setcookie('sitestyle',$set,time()+31536000))
  print "raté !";
else
  print "le cookie est : ".$_COOKIE['sitestyle'];
?>

Tu verras que pour la fonction setcookie() je n'ai pas mis de domaine, vu qu'il sera mis par défaut sur le domaine local. Comme ça le code reste le même chez toi et chez ton hébergeur.

En ce qui concerne EasyPhp, je te suggère de le remplacer par WampServer, tu auras des versions bien plus récentes de Apache, php, mysql et une mise en place très facile (un clic pour installer, comme toute appli Windows)

Dan

Posté

Pour WampServer, tu auras deviné qu'il se trouve dans notre annuaire :

http://www.webmaster-hub.com/topsites/inde...tory&category=9

Et le site officiel : http://www.wampserver.com/

------------

Pour info, parce que l'on en apprend tous les jours (et parce que ce n'est pas forcément évident pour tout le monde) :

WAMP = Windows Apache Mysql Php

LAMP = Linux Apache Mysql Php

------------

Anonymus.

(ps : merci ;) )

Posté

Bonjour,

J'ai passé la journée sur ce foutu switcher, aucune solution ne marche, et comme il me parait quand même étrange que ça ne marche pas uniquement en local, j'ai fini par désinstaller Easyphp et je viens d'installer WAMP5_1.2

Je vous tiens au courant de la suite, et merci à tous les deux pour votre aide.

;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...