8797 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Puisque ce forum m'a été d'un grand secours lors de la construction de mon site, c'est à mon tour d'essayer, avec mes maigres compétences, de rendre service aux débutants. J'ai souvent remarqué que lorsque l'utilisateur se trouve derrière un pare-feu (ce qui doit être le cas d'une majorité d'entre nous), la syntaxe proposée par le W3C permettant de valider le contenu HTML de la page en cours ne fonctionne pas (le firewall bloquant le "referer").

Voici cette syntaxe :
<p>
<a href="http://validator.w3.org/check?uri=referer"><img
src="http://www.w3.org/Icons/valid-xhtml10"
alt="Valid XHTML 1.0!" height="31" width="88" /></a>
</p>

J'ai donc choisi d'utiliser une solution alternative en PHP à l'aide de la syntaxe suivante :


<p>
<a href="http://validator.w3.org/check?uri=http://
<?php
$serveur = $_SERVER['HTTP_HOST'];
$url = $_SERVER['REQUEST_URI'];
// Condition optionnelle permettant de n'effectuer cette demarche
// que sur votre serveur
if ($serveur == "www.mozilla-europe.org")
Print ("$serveur$url");
else
Print ("www.w3.org");
?>
" title="V&eacute;rifiez la validit&eacute; de ce contenu">XHTML 1 Strict</a>
</p>


Ces quelques lignes renvoient le nom du serveur ($_SERVER['HTTP_HOST']) et la localisation de la page ($_SERVER['REQUEST_URI']) actuellement affichée dans le navigateur. Ces infos, incluses dans les variables $serveur et $url sont intégrées à la syntaxe du lien permettant d'accéder à l'outil de validation de W3C. Afin de restreindre l'accès à ce très court script, j'ai ajouté une condition (sans doute inutile) où si le nom exact du serveur affiché (ici www.mozilla-europe.org ) n'est pas celui de la page affichée, la page testée sera la page de garde du site du W3C (il est bien évidemment possible de remplacer cette adresse par celle du Vatican, de Microsoft ou de Goggle, ...)

Ce mini-script doit bien évidemment être intégré dans une page portant l'extension PHP, installée sur un serveur supportant ce "langage".

Je ne sais pas si cette syntaxe est correcte mais en tout elle fonctionne à la maison. A la prochaine.

PS : MERCI à Elentar pour sa vérification du code (voir son message ci-dessous)
Modifié par winny (16 Mar 2005 - 23:10)
winny a écrit :
(...)
Ce mini-script doit bien évidemment être intégré dans une page portant l'extension PHP, installée sur un serveur supportant ce "langage".
(...)
Quid de l'extension "brocolis" ? :-p
Petit problème de logique apparent :
if ($serveur = "www.mozilla-europe.org")
Si tu veux faire une condition, c'est == ou === qu'il faut utiliser Smiley cligne

Là dans ton cas, cette condition sera toujours exécutée (car $serveur ne vaut pas FALSE ou 0)
Oups !!!

Grand merci Elentar ! J'aurais dû re-relire mon code avant de le poster, toutes mes excuses à la collectivité ! Au fait, j'ai fait la correction dans le code initial !
Modifié par winny (16 Mar 2005 - 23:07)