Aller au contenu

Passer des paramètres à la CSS


francoisch

Sujets conseillés

Bonjour

Jappelle une CSS :

<link rel="stylesheet" type="text/css" href="style28.php" />

Je cherche à lui passer des paramètres depuis la page dappel (Php), par exemple :

$fontsizeem = 3;

Est-ce possible ? Comment faire ?

Par avance merci de votre aide.

Francois

Lien vers le commentaire
Partager sur d’autres sites

Par l'URL, avec la méthode GET de HTTP donc.

<link rel="stylesheet" type="text/css" href="style28.php?fontsizeem=<?php echo $fontsizeem; ?>" />/

Dans le script PHP (style28.php) tu peux récupérer cette valeurs grâce au tableau $_GET :

echo $_GET['fontsizeem'];

Sois bien conscient que cela fait office d'une requête HTTP différente de celle de ta page d'appel et donc les autres variables déclarées dans celle-ci ne sont pas disponible (à moins de les passer par l'URL de la même manière).

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Je suis en panne ; ma page appelle la CSS avec ce code généré ("afficher la source"):

<link rel="stylesheet" type="text/css" href="../style28.php?fontsizemult=3"/>

qui montre que le paramètre est bien passé avec une valeur.

En tête de style28.php, jai :

<?php 
$fontsizemult = echo $_GET['fontsizemult'];

header("Content-type: text/css");
include ("styleparm.php");
?>
.... suite de la CSS ....

Le simple ajout de la ligne $fontsizemult = echo $_GET['fontsizemult']; fait planter la CSS ; tout saffiche comme sil ny avait pas de CSS.

Si je retire cette ligne, la CSS fonctionne normalement.

Mais jai besoin de mon paramètre fontsizemult pour la suite des opétrations.

Où est ce que jai fait une erreur ?

Par avance merci de votre aide.

Francois

***************************************

Si je remplace la ligne $fontsizemult = echo $_GET['fontsizemult']; par $fontsizemult = 2; par exemple, tout fonctionne correctement.

Francois

Modifié par francoisch
Lien vers le commentaire
Partager sur d’autres sites

bonjour

Je craignais que ce soit une erreur bête, je n'en n'étais pas bien loin.

Merci de ton aide.

Francois

**********************************

Une autre question:

Comme je ne passe pas toujours ce paramètre en appellant la CSS, je dois tester sa présence en tête de la CSS; s'il est absent je veux l'initialiser à la valeur 1.

J'essaie avec ça:

$fontsizemult = (isset ($_GET['fontsizemult'] ) ) ? ($_GET['fontsizemult'] ) : 1;

mais ça ne marche pas.

J'ai aussi essayé avec:

$fontsizemult = $_GET['fontsizemult'];
$fontsizemult = (isset ($fontsizemult) ) ? $fontsizemult : 1;

sans succès.

Une suggestion?

Francois

Modifié par francoisch
Lien vers le commentaire
Partager sur d’autres sites

Là, ça ne m'avance pas beaucoup.

Le test que j'essaie de faire est:

- si une valeur est passée à l'appel ($_GET['fontsizemult']), la placer dans la variable $fontsizemult

- sinon, y placer 1

mais ça ne fonctionne pas, en dépit de mes essais.

J'ai l'impression de faire ce test correctement mais ça n'est manifestement pas le cas.

Une suggestion?

Francois

Lien vers le commentaire
Partager sur d’autres sites

Là, ça ne m'avance pas beaucoup.

Non, mais il serait peut être temps de commencer à montrer un peu de réflexion personnelle, c'est à dire :

1. Si l'opérateur ternaire ne fonctionne pas, faire le test avec un simple test if / else,

2. si cela ne fonctionne pas, c'est que tout bêtement tu as un problème avec ton $_GET

3. et que si ça marche, c'est que ta version de php ne gère pas ce type de test.

Lien vers le commentaire
Partager sur d’autres sites

$fontsizemult = $_GET['fontsizemult'];
$fontsizemult = (isset ($fontsizemult) ) ? $fontsizemult : 1;

non

$fontsizemult = (isset($_GET['fontsizemult']) ) ? $_GET['fontsizemult'] : 1;

peut etre

Lien vers le commentaire
Partager sur d’autres sites

Oui, quand je ne spécifie pas de paramètre à l'appel:

<link rel="stylesheet" type="text/css" href="../style28.php"/>

la variable $fontsizemult dans la CSS prend la valeur 1 par défaut; ça marche donc, merci de votre aide.

J'ai aussi un autre cas (que je peux expliquer au besoin) où j'appelle en spécifiant le passage d'un paramètre:

<link rel="stylesheet" type="text/css" href="../style28.php?fontsizemult=<?php echo $fontsizemult; ?>"/>

mais où la valeur <?php echo $fontsizemult ; ?> est absente.

Question: à l'arrivée dans la CSS, qu'y a t il dans $_GET['fontsizemult']? Cette variable exxiste t elle? a t elle une valeur vide? autre? comment tester ça?

J'ai essayé de tester avec:

$fontsizemult = ( isset($_GET['fontsizemult']) || ( ($_GET['fontsizemult') == "" ) ) ? $_GET['fontsizemult'] : 1;

sans succès.

Merci par avance de votre aide.

Francois

Lien vers le commentaire
Partager sur d’autres sites

J'ai aussi un autre cas (que je peux expliquer au besoin) où j'appelle en spécifiant le passage d'un paramètre:

<link rel="stylesheet" type="text/css" href="../style28.php?fontsizemult=<?php echo $fontsizemult; ?>"/>

mais où la valeur <?php echo $fontsizemult ; ?> est absente.

Question: à l'arrivée dans la CSS, qu'y a t il dans $_GET['fontsizemult']? Cette variable existe t elle? a t elle une valeur vide? autre? comment tester ça?

Oui elle existe, mais elle est vide, essai plutôt comme ça :

$fontsizemult = (isset ($_GET['fontsizemult'] || empty($_GET['fontsizemult'])) ) ? ($_GET['fontsizemult'] ) : 1;

Lien vers le commentaire
Partager sur d’autres sites

Merci de ta réponse.

Comme il y avait apparement un problème de syntaxe, toujours délicat avec une CSS en Php, j'ai un peu modifié le code pour:

$fontsizemult = ( isset ($_GET['fontsizemult'])  || empty($_GET['fontsizemult']) ) ? $_GET['fontsizemult']  : 1;

mais l'affichage n'est toujours pas bon, la CSS doit être encore en erreur.

De plus, la logique dont j'ai besoin ne se retrouve pas dans cette expression:

- la varibale $fontsizemult doit être initialisée à la valeur passée s'il y en a une

- sinon, dans les deux autres cas, cette variable doit prendre la valeur 1

Peut-être va t il falloir passer par une autre syntaxe comme des If imbriqués:

if ( isset ($_GET['fontsizemult']);)
{
if (empty($_GET['fontsizemult']);)
{
$fontsizemult = 1;
}
else ($fontsizemult = $_GET['fontsizemult'];)
}
else ($fontsizemult = 1;)

mais ce code aussi est en erreur.

Par avance merci de votre aide.

Francois

Lien vers le commentaire
Partager sur d’autres sites

J'ai juste oublié le ! devant empty

$fontsizemult = ( isset ($_GET['fontsizemult'])  || !empty($_GET['fontsizemult']) ) ? $_GET['fontsizemult']  : 1;

Mais j'ai l'impression que tu n'as pas trop chercher à comprendre ce que cette syntaxe signifiait

Lien vers le commentaire
Partager sur d’autres sites

Quelque chose dans ce genre devrait fonctionner :

<?php
if(isset($_GET['fontsizemult']) && !empty($_GET['fontsizemult']))
$fontsizemult = $_GET['fontsizemult'];
else
$fontsizemult = 1;
?>

En une seule ligne, ça donnerait ça :

<?php
$fontsizemult = (isset($_GET['fontsizemult']) && !empty($_GET['fontsizemult'])) ? $_GET['fontsizemult'] : 1;
?>

Lien vers le commentaire
Partager sur d’autres sites

Merci encore de ta réponse.

J'avais raté effectivement le ! manquant qui changeait le sens de l'expression; je vais l'essayer.

Entre temps, j'avais essayé avec:

$fontsizemult = ( isset ($_GET['fontsizemult'])) ? ( ( empty($_GET['fontsizemult']) ) ? 1 : $_GET['fontsizemult'] )  : 1;

mais c'est manifestement plus compliqué que ton expression.

Merci de ton aide.

Francois

**********************************

Merci de votre aide, ça marche impeccablement.

Finalement, c'était && qu'il fallait plutôt que !!.

Merci encore, ça me permet de préciser pour certains utilisateurs connus de mon site Web une taille de caractères plus grande pour les aider à lire leurs pages.

Francois

Modifié par francoisch
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...
Merci encore, ça me permet de préciser pour certains utilisateurs connus de mon site Web une taille de caractères plus grande pour les aider à lire leurs pages.

Ouch!!! toute cette débauche d'énergie pour ça alors que l'utilisateur peux le faire lui même si le site est bien codé.

De plus je dirais que ce n'est pas rendre service à l'utilisateur que de lui mâcher le boulot de cette façon car que fera t-il sur un site qui ne propose rien pour permettre d'avoir des caractères plus gros.

Lien vers le commentaire
Partager sur d’autres sites

Pas vraiment d'accord Knarf, ce n'est pas à nous d'éduquer les visiteurs, si ils ne savent pas changer la taille de la police sur un autre site, et bien tant pis, si on ajoute une fonctionnalité pour augmenter la taille des caractères en plus de celle possible par le navigateur cela s'appelle de l'ergonomie, on facilite cette démarche sur notre site, c'est une fonctionnalité qui n'est pas directement utile, mais que les visiteurs peuvent apprécier.

Lien vers le commentaire
Partager sur d’autres sites

bonjour

Pour une précision: mes utilisateurs sont tous des personnes âgées, sans aucune expérience de la micro-informatique, ou handicapées (sclérose en plaques, ...).

Pour cette raison, mon objectif est de leur rendre l'utilisation d'un micro la plus simple possible; je leur propose des Accès simplifiés sur ce site.

Ma "population" n'a donc rien à voir avec une population générale pour laquelle vos observations s'appliqueraient.

Francois

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne sais pas pourquoi mais je m'attendais à ce type de réponse.

Le web est un jeux qui se joue à 3.

Les propriètaires de sites ou décideurs

les créateurs

les utilisateurs

On essaye d'éduquer les demandeurs, les créateurs au niveau de l'accessibilité mais jamais les utilisateurs.

Il ne faut pas s'étonner alors que l'accessibilité mette tant de temps à éclore même si les choses changent.

Francois sur ton site, existe t-il au moins une page d'accessibilité, d'aide ou de confort d'utilisation bien visible et qui pourrait leur donner l'indication qu'il est possible de modifier la taille du texte ?

Là ce serait vraiment leur rendre service, bien plus que la mise en place d'un "gadget" cela les rendraient autonomes et libres sur d'autres sites.

Ton site permet-il au moins de redimensionner la police sans cette fonctionnalité ?

Ces personnes agées ou personnes atteintes de sclérose en plaque sont donc condamnés à souffrir sur d'autres sites qui ne leur donne pas une telle fonctionnalité ?

Ils souffrent déjà d'un handicap ou d'une déficience mais en plus la sanction est double ils sont débutants.

Il faudrait peut-être commencer à changer notre fusil d'épaule et inclure les utilisateurs dans notre démarche et leur expliquer que les sites mal foutus ne sont pas une fatalité et qu'il existe des moyens de palier à certains problèmes qu'ils peuvent rencontrer.

Au final il faudrait peut être arreter de s'emmerder à mettre des tailles de polices en em car les principaux intéréssés ne savent pas ce servir de la fonctionnalité adéquate et les geeks sauront quoi faire.

Modifié par knarf
Lien vers le commentaire
Partager sur d’autres sites

:mad2: Knarf, je te trouve excessif dans ta démarche accessibilité. Tu veux éduquer l'utilisateur final, bien fait le, mais ne viens pas te plaindre si justement, comme ce dernier ne sais pas (la plupart du temps) changer la taille de la police, il ira voir ailleurs, sur un autre site écrit plus gros, ou qui propose la fonctionnalité d'agrandir le texte.

Donc pour toi sous prétexte d'éduquer l'utilisateur final, il ne faut pas leur mettre de fonctionnalités qui facilite l'ergonomie, excuse moi, mais la niveau accessibilité tu as tout faux. Comme l'accessibilité passe aussi par l'ergonomie, et que quand on peut facilité cette dernière, il ne faut pas s'en priver, même si les utilisateurs finaux n'apprennent pas plus à changer la taille de leur police de caractères, car de toute façon, la plupart d'entre eux ne feront pas l'effort de chercher pour savoir comment on fait.

Lien vers le commentaire
Partager sur d’autres sites

Houlala autant de smiley's négatifs ça fait un petit peu beaucoup quans même non ?

Maintenant petit scénario qui tiens compte de ta remarque.

Je fais une recherche sur google :

Premier site pas de grigri donc site suivant

Deuxieme site pas de grigri donc site suivant

Troisieme site pas de grigri donc site suivant

Quatrieme site pas de grigri donc site suivant

Cinquieme site pas de grigri donc site suivant

Sixième site oh ! un grigri par contre c'est balot il ne réponds pas à ma question.

Peut-être que si un webmaster (en l'occurence françois) avait pris la peine sur une page d'aide ou de confort d'utilisation de préciser qu'il n'avait pas besoin de grigri, la personne qui en a le plus besoin aurait tout de même pu visiter les cinq sites précédents et trouver l'information sur le premier au lieu de se taper 6 sites pour rien. Tiens soyons fous pourquoi pas, par la même occasion, apprendre à ces mêmes internautes qui ont peut-être des difficultés à utiliser la souris qu'il est possible de naviguer au clavier.

Bénéfice du griri aucun

Bénéfice d'une page de confort d'utilisation pour les personnes qui en ont le plus besoin.

Gain de temps (il aurait pu trouver la réponse sur le premier site)

Gain d'énergie (plusieurs manips évitées)

Autonomie (pas besoin d'attendre le bon vouloir d'un webmaster)

Je parle d'autonomie, tu parles d'assistance.

C'est exactement la même chose que la personne à qui l'on apprends à pêcher plutôt que de lui filer un poisson et qui pourra se nourrir par lui même.

Pour moi la page confort d'utilisation devrait être obligatoire sur tous types de sites, de surcroit sur un site comme celui de François qui a un public très concerné.

Maintenant au sujet de la mise en place du grigri

Entre ceux qui agrandissent que dalle (ou pas suffisement)

Ceux qui n'agrandissent que la partie d'un billet ( et pas le restant, commentaires, menus...)

Ceux qui sont out si javascript est désactivé.

Ceux qui obligerons à refaire la manip à chaque changement de page.

La belle affaire il est où là le gain en accessibilité et/ou en ergonomie.

Modifié par knarf
Lien vers le commentaire
Partager sur d’autres sites

knarf : si j'ai bien compris, le public est très ciblé (il est même possible que françoisch connaisse chaque membre personnellement): il s'agit d'une sorte d'intranet (chaque membre accède à son espace personnel en rentrant ses informations). Je pense également que le site est mis en favoris pour chacune des personnes concernées, et qu'il n'est pas destiné à être trouvé par google.

La question n'est pas d'éduquer ces personnes (qui ont apparemment des handicaps moteurs assez importants), mais juste de leur permettre un accès simple à plusieurs services.

Lien vers le commentaire
Partager sur d’autres sites

knarf, je fais partie des fervents défenseurs de l'accessibilité mais je suis très loin d'être aussi extremistre que toi. Les smiley est la pour cela tu es trop extrémiste dans ta demarche et tu risque très fortement de faire fuir les personnes intéressées par l'accessibilité comme cela a été le cas avec les pro linuxiens qui m'ont longtemps refroidis

L'utilisation du grigri comme tu l'appelle dédaigneusement n'est pas incompatible avec la possibilité d'utiliser les tailles relatives. J'en convient qu'il faut le faire correctement, et qu'en c'est fait, les problèmes que tu évoques. De même rien ne t'empêche d'indiquer aussi qu'il est aussi possible d'agrandir le texte avec une fontionnalite du navigateur.

De plus je sais par expérience que la plupart des utilisateurs n'iront pas voir la partie qui est "sensée" les éduquer comme tu dis.

Pour moi mettre des aides comme le "grigri" n'est certes pas indispensable mais ne nuit pas a l'accessibilité

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Pour le grigri c'est vrai que j'ai peut-être été un peu fort mais ce qui m'agace c'est le côté alibi parfait pour dire "je fais de l'accessibilité" alors que c'est faux et que bien souvent c'est implémenté n'importe comment et que les sites l'utilisant sont loin d'être accessible lorsque l'on gratte un petit peu la peinture.

Dadou à ton avis pourquoi la page d'accessibilité ou de confort d'utilisation est en principe rarement visitée, ne serait-ce pas parce qu'elle est cachée en haut avec une police ridiculement petite, avec un contraste quasi nul ou carrement invisible ?

Pour moi mettre des aides comme le "grigri" n'est certes pas indispensable mais ne nuit pas a l'accessibilité

Pour toi non c'est sur mais combien ont ton niveau ou ton expertise en accessibilité c'est cela qui est nuisible et dangereux quand c'est utilisé à tort et à travers et uniquement pour donner bonne conscience.

Cela devrait être une surcouche, on fait d'abord les choses proprement et seulement après l'on peux éventuellement offrir cette fonctionnalité.

A titre indicatif, sur web-pour-tous la page "Agrandir la police dune page web (texte)" est la plus visitée avec "confort d'utilisation" mais voilà confort d'utilisation est bien visible et en gros on ne peux pas le louper.

"Agrandir le texte d'une page web" (ou approchant) est l'une des recherches les plus fréquentes avec le mouse gesture c'est donc bien qu'il y a une demande.

Faut arreter de prendre l'utilisateur que pour un neuneu et croire qu'il ne fait rien pour trouver de l'information utile à une meilleure navigation et que si cette information est présente et bien visible qu'il ne l'utilise pas.

Formons d'abord l'utillisateur proposons lui l'information clairement au lieu de la lui cacher et l'accessibilité avancera à pas de géant, je dois être un des seuls à le penser, ça m'a toujours desservis mais je persiste et signe.

@ capitaine_torche

Concernant google je voulais juste démontrer que l'argument de dadou n'était pas pertinent bien au contraire et que ce n'était pas faciliter les choses pour l'internaute que de lui macher le boulot en lui offrant uniquement une béquille et encourager les webmasters à le faire.

La question n'est pas d'éduquer ces personnes (qui ont apparemment des handicaps moteurs assez importants), mais juste de leur permettre un accès simple à plusieurs services.

Je ne sais pas ce qu'a fait François, c'est peut-être mis en place, mais pourquoi ne pas les éduquer en plus de leur donner un accès simple à plusieurs services c'est cela que j'ai du mal à comprendre on dirait que c'est mal ou une perte de temps de vouloir délivrer une information qui peux s'avérer utile et peut être rendre certains utilisateurs autonomes autre part que sur le site en question.

Modifié par knarf
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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