28220 sujets

CSS et mise en forme, CSS3

bonjour
voulant donner le choix de présentation aux visiteurs j'ai mis un formulaire faisant appel à un switcher ( trouvé sur www.alistapart.com/articles/phpswitch/ )

Mais voilà cela ne fonctionne que sous IE pas sous FireFox Smiley bawling

code du formulaire:

<form  action="http://www.sos-retinite.com/switcher.php" method="get" id="switcher">
	<div class="malvoyant">
  	  <label for="skin">choisissez le niveau de contraste&nbsp;:</label>
  	  <select id="skin" name="skin">
      	   <option value="style_retine" selected="selected">Normal</option>
      	   <option value="style_mv">Médium</option>
           <option value="style_minimal">Maximal</option>
   	  </select>
	  <input type="hidden" name="adresse" value="<?php echo $_SERVER[’PHP_SELF’] ; ?>" />
 	  <input type="submit" value="Ok" alt="Envoi"
                onmouseover="this.style.color='#ff0000'" 
                onmouseout="this.style.color='#000000'" 
                onmousedown="this.style.color='#ffffff'" />
	</div>
	</form>

code du switcher:
<?php
  setcookie ('sitestyle', $skin, time()+31536000, '/', 'www.sos-retinite.com', '0'); 
  header("Location:$adresse");	
?>


le même phénomêne est observé sur
http://mammouthland.free.fr/

que puis- je faire pour que cela fonctionne correctement? Merci Smiley lol
Modifié le 13 Jan 2005 - 22:03
Raphael a écrit :
Salut dentnoir,

Avant que d'autres ne répondent, as-tu pensé à faire une Recherche sur le forum ?

oui bien sur et je n'ai rien trouvé en switcher ou je n'ai pas choisi les bons critères
littlesam a écrit :
Je te conseille de regarder ce tuto, il est très bien expliqué :
http://www.elmoustikoblog.net/tutoriels/php/style_switcher/


je connaissais j'ai aussi chercher sur google ! j'ai testé, je ne sais plus si çà 'a marché ou si il fallait que je change trop de choses sur mon site (il crée des repertoire par style si je me souviens çà ne convenait malheureusement pas. Merci.
Administrateur
dentnoir a écrit :

oui bien sur et je n'ai rien trouvé en switcher ou je n'ai pas choisi les bons critères

Pourtant je t'ai donné le lien direct Smiley smile

Sinon c'est simple :
- mot recherché : switcher
- rechercher dans : posts
- date : n'importe quand

... et tu devrais avoir au-moins une dizaine de réponses pertinentes Smiley cligne

Sinon le lien donné par littlesam est très bien aussi. Il s'agit d'un tuto fait par Olivier, modérateur ici.
Les modifications à faire sont minimes quand on connais un peu le php. Tu devrais peut-être commencer par apprendre le php... chercher un exemple avec 0 modifs à faire c'est utopique.
Modifié le 12 Jan 2005 - 11:59
LapinLove404 a écrit :
Une autre solution, c'est le body switcher:
L'original, sur A List Apart:
http://www.alistapart.com/articles/bodyswitchers/

J'apprécie très moyennement cette méthode qui contourne le principe même des feuilles de style alternatives, dont le principal reproche qui leur est fait est de ne pas être implémenté par la totalité des navigateurs actuels. C'est à mon sens dommageable si on se met à contourner telle ou telle règle au prétexte qu'elle n'est pas du tout, partiellement, ou insufissament implémentée par tel ou tel outil. A ce rythme les standards ne sont pas près de progresser et leur implémentation correcte dans les agents utilisateurs non plus.
Le problème, c'est que même dans des outils performants , l'implémentation est encore basique ... exemple, avec le Style Switcher intégré à Firefox, on ne peut pas sauvegarder le design préféré ... donc, il faut contourner avec un cookie pour sauvegarder !
Igor a écrit :

C'est à mon sens dommageable si on se met à contourner telle ou telle règle au prétexte qu'elle n'est pas du tout, partiellement, ou insufissament implémentée par tel ou tel outil.

Que proposes-tu exactement ? Je ne comprends pas ta phrase. De faire des sites utilisables uniquement par ceux qui utilisent un navigateur à base de gecko ? Ou alors de faire des sites sans aucun élément un peu hors du commun (comme des styles alternatifs) pour passer partout ?
Modifié le 12 Jan 2005 - 19:13
littlesam a écrit :

Que proposes-tu exactement ?

Rien

a écrit :
Je ne comprends pas ta phrase. De faire des sites utilisables uniquement par ceux qui utilisent un navigateur à base de gecko ?

Je ne dit pas cela.

a écrit :
Ou alors de faire des sites sans aucun élément un peu hors du commun (comme des styles alternatifs) pour passer partout ?


Sans reprendre un autre débat, je trouve les styles alternatifs comme un gadget lorsqu'ils ne s'appliquent qu'au côté "hors du commun" des sites, qu'ils sont utiles pour améliorer le cas échéant l'accessibilité des contenus, lorsqu'ils peuvent être appliqués à d'autres médias que l'écran.
Un concepteur de site pour montrer ses capacités, ses réalisations peut très bien l'utiliser, à fin de tests c'est très bien aussi.

Le cœur de ce que je disais c'est simplement qu'il est dommage à mon avis que si une possibilité existe (les styles alternatifs) elle soit ignorée. Des solutions présentées ici même sont toutes a fait utilisables. Je m'étonne simplement de la courte vue de la solution des body switchers qui ne se borne qu'à constater la non implémentation de telle ou telle propriété.
Tout cela pour préciser ce que je disais dans la phrase suivante à celle que tu cites:
Igor a écrit :
A ce rythme les standards ne sont pas près de progresser et leur implémentation correcte dans les agents utilisateurs non plus.

Et je le regrette. Smiley cligne
Raphael a écrit :
Salut dentnoir,

Avant que d'autres ne répondent, as-tu pensé à faire une Recherche sur le forum ?


désolé
Smiley confused dans ma précipitation je n'avait pas vu le lien. Merci
Modifié le 13 Jan 2005 - 08:52
Merci à tous pour vos reponses ; j'avais déjà trouvé certaines par google ! je voulais surtout comprendre pourquoi mon code fonctionnait pas ! pas le remplacer par un autre:

j'ai resolu ce probleme grace à une remarque d'un ami: L'url n'était pas tranmise:

avec ce code:
<form  action="http://www.sos-retinite.com/switcher.php" method="get" id="switcher">
	<div class="malvoyant">
  	  <label for="skin">choisissez le niveau de contraste&nbsp;:</label>
  	  <select id="skin" name="skin">
      	   <option value="style_retine" selected="selected">Normal</option>
      	   <option value="style_mv">Médium</option>
           <option value="style_minimal">Maximal</option>
   	  </select>
	  <input type="hidden" name="adresse" 
value="[b]<?php echo $_SERVER[’PHP_SELF’] ; ?>"[/b] />
 	  <input type="submit" value="Ok" alt="Envoi"
                onmouseover="this.style.color='#ff0000'" 
                onmouseout="this.style.color='#000000'" 
                onmousedown="this.style.color='#ffffff'" />
	</div>
</form>


j'obtenais dans la barre nav de Firefox ceci:
http://www.monsite.com/switcher.php?skin+adresse=


en ajoutant index.php au bout çà fonctionne

j'ai donc tranformé mon code comme ceci:
<form  action="http://www.sos-retinite.com/switcher.php" method="get" id="switcher">
	<div class="malvoyant">
  	  <label for="skin">choisissez le niveau de contraste&nbsp;:</label>
  	  <select id="skin" name="skin">
      	   <option value="style_retine" selected="selected">Normal</option>
      	   <option value="style_mv">Médium</option>
           <option value="style_minimal">Maximal</option>
   	  </select>
	  <input type="hidden" name="adresse" value="[b]index.php[/b]" />
 	  <input type="submit" value="Ok" alt="Envoi"
                onmouseover="this.style.color='#ff0000'" 
                onmouseout="this.style.color='#000000'" 
                onmousedown="this.style.color='#ffffff'" />
	</div>
</form>


ce n'est peut-être pas très académique comme code mais cela fonctionne!
la fonction $_SERVER[’PHP_SELF’] est-elle prise en compte par le serveur ?!!! c'est peut-être de là que viens mon probleme..

Merci encore
Modifié le 13 Jan 2005 - 08:54
voilà çà fonctionne !!
Smiley lol Smiley lol Smiley lol

code du formulaire:

<form  action="switcher.php" method="get" id="switcher">
	<div class="malvoyant">
  	  <label for="skin">choisissez le niveau de contraste&nbsp;:</label>
  	  <select id="skin" name="skin">
      	   <option value="style_retine" selected="selected">Normal</option>
      	   <option value="style_mv">Médium</option>
           <option value="style_minimal">Maximal</option>
   	  </select>
	  <input type="hidden" name="adresse" value="<?php echo $_SERVER['PHP_SELF'] ; ?>" />
 	  <input type="submit" value="Ok" alt="Envoi"
                onmouseover="this.style.color='#ff0000'" 
                onmouseout="this.style.color='#000000'" 
                onmousedown="this.style.color='#ffffff'" />
	</div>
	</form>

code du switcher:
<?php
  setcookie ('sitestyle', $skin, time()+31536000, '/', 'www.sos-retinite.com', '0'); 
  header("Location:$adresse");	
?>



le probleme était simple !!! un probleme de "quote" !! ici
<?php echo $_SERVER['PHP_SELF'] ; ?>" 


Merci à Olivier (Anciennement ElMoustiko)
http://forum.alsacreations.com/topic.php?fid=1&tid=1338
Modifié le 13 Jan 2005 - 21:55