Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: detect nav pour choisir entre src/javascript et include php

Envoyé: 19 mars 2004, 10h12 par Oznog


Salut,

Ouf! Deux choses, premièrement le Javascript est exécuté en deuxième, le PHP en premier et JAMAIS les deux en même temps (à part l'exception du Javascript serveur qui n'a pas accès au user-agent du navigateur).

Pour la simble et bonne raison que tu dois sortir de chez toi et aller chez le barbier AVANT de te faire faire la barbe ;-)

- Le serveur est disponible
- Une requête lui est envoyée (sans Javascript, une requête c'est une en-tête HTTP comme celle que tu vois dans la barre d'adresse du navigateur).
- Il traîte la requête, et l'oriente vers le bon répertoire vuirtuel.
- Ouvre la bonne page PHP et regarde le code
- S'il voit du PHP, ouvre le moteur PHP pour traiter TOUT CODE PHP IMBRIQUÉ DANS LE DOCUMENT pour le REMPLACER PAR LE RÉSULTAT (les echos). Qu'il retourne tout simplement vide de tout code PHP au navigateur. D'ailleurs regarde le code source de n'importe qu'elle page PHP sur le Web.

- Le navigateur reçoi du code, HTML, XHTML, peut être même XML, XSL, voir PDF, une image ou peut importe le type MIME il ne reçoi jammais de PHP bien que l'extension du document demandé soit toujours .php.

Ce code HTML peut avoir du Javascript imbriqué QUI sera interprété par le navigateur (qui ne connaît absolument rien au PHP).

En d'autres mots, si je lis ton code avec cette démarche j'obtiendrait dans le navigateur la ligne "<?php <INCLUDE(pied.php3)>" sans plus. Pas affiché dans la page car elle est balisés par < et >, mais probablement dans le code source si tu regarde via le navigateur. Pour la simple et bonne raison que le moteur PHP n'a jamais vu cette ligne qui a été ajouté après son passage sur le serveur, par le navigateur.

DEUXIÈME POINT
Les include sont aussi "imbriqué" avant que le moteur ne traite le PHP. Le moteur PHP ne reçoi aucune commande INCLUDE mais bien le contenu du INCLUDE. Tu ne peux donc pas utiliser de test PHP ou tout autres code PHP pour en gérer l'inclusion ou non.

La seule solution est de mettre carrément dans ton include les tests de condition et bien sûr les deux codes toujours présent. Ou faire une redirection serveur vers une seconde page. Par exemple si tel navigateur, redirection vers telle page (qui a l'include X) sinon vers telle page (qui a l'include Z).

Ceci dit, la question des include est réglée. Reste ton histoire de navigateur. PHP a aussi la possibilité de récupérer le user-agent sans devoir passer par du Javascript. Mais c'est une autre histoire, à poursuivre dans le forum PHP!

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@