Page 1 sur 1
[Debut.] Validation de code XHTML strikt pour url
Posté : 06 août 2005, 09:40
par marc_3
Bonjour,
Je n'arrive pas a valider le fragment de code suivant pour URL et aussi pour E-mail.
Est-ce qu'il existe une possibilite pour le faire?
Mes adresses sont stockees dans une BdD et appelees ensuite dans un tableau pour affichage.
Code : Tout sélectionner
<td class = "c">
<a href=" http://<?php echo $url; ?>"><?php print($ligne["intadresse"]); ?></a><?php
?> </td>
J'ai toujours ce message d'erreur avec
line 325 column 7 - Warning: <a> escaping malformed URI reference
Les valeurs chargees dans les variables php sont par exemple:
L'autre question interressante est: existe t'il une autre maniere de formuler ce code qui soit plus adhequoite?
D'avance merci
Marc_3
Posté : 06 août 2005, 11:39
par Lpu8er
Euh je vois un espace d'ici entre le http:// et la valeur injectée PHP.
Peut-être à cause de cela.
Et ça:
<?php
?> </td>
Tu peux juste mettre </td>, inutile de rouvrir une balise <?php si c'est pour la fermer directement.
Au passage on dit adéquate.
Et au final, ceci est une solution simple, du moment que tu sécurise cette variable injectée par l'url...
Lpu8er
Posté : 08 août 2005, 09:42
par marc_3
Merci pour la reponse,
j'ai essaye mais pas moyen, le test me donne toujours la meme faute.
Les espaces ne semblent pas jouer un role car je les ai tous supprimes.
(La reponse est tres adhequate et j'apprecie tes efforts pour la preservation du francais dans sa forme originale en ligne (sans dec.).)
Une autre idee peut-etre?
Marc_3
Posté : 08 août 2005, 10:45
par ouckileou
peut-être des caractères spéciaux genre & à encoder en HTML
ou rajouter l'attribut "title" pour tes balises <a>
Posté : 08 août 2005, 10:47
par raptor
Peux tu remettre ton code dans sa forme actuelle, et l'erreur retournée.
Posté : 09 août 2005, 11:16
par marc_3
Oui bien sur,
Alors le code dans sa forme actuellle
Code : Tout sélectionner
<td class = "b">
<a href="http://<?php echo$url;?>"><?php print($ligne["intadresse"]);?></a>
</td>
<td class = "b">
<a href="mailto:<?php echo$email;?>"><?php print($ligne["email"]);?></a>
</td>
et le message d'erreur de mon editeur PSPad, la on ne peut pas parle de message d'erreur mais de warning.
Found 0 errors 4 warnings
line 310 column 1 - Warning: <a> escaping malformed URI reference
line 313 column 1 - Warning: <a> escaping malformed URI reference
line 329 column 1 - Warning: <a> escaping malformed URI reference
line 332 column 1 - Warning: <a> escaping malformed URI reference
La ou cela ce gate beaucoup c'est avec le validateur de code de Firefox, ou j'utilise validate local HTML et ou j'obtiens avec xhtml strickt 1.0:
# Line 329, character 17:
<a href="http://<?php echo$url;?>"><?php print($ligne["intad ...
^
Warning: character < is the first character of a delimiter but occurred as data
# Line 332, character 17:
<a href="mailto:<?php echo $email;?>"><?php print($ligne["em ...
^
Warning: character < is the first character of a delimiter but occurred as data
Voila est-ce qu'il y a vraiment quelque chose a faire?
Pour la suggestion rajouter un titre a la balise <a>, je comprend pas ce que tu veux dire. J'ai regarde chez W3 school et la balise ne supporte pas titre et quand j'essaie comme cela (tres naif je sais merci), je n'obtiens pas d'effet.
Code : Tout sélectionner
<td class = "b">
<a href="http://<?php echo$url;?>" title= voila_1><?php print($ligne["intadresse"]);?></a>
</td>
Quelle est l'idee la
D'avance merci
Marc_3
Posté : 09 août 2005, 11:52
par Cyrano
J'ai l'impression que le problème vient de l'extension de ta page: si ele est en .html, le PHP ne sera pas interprété et envoyé tel quel dans ton code, donc les adresses ne seront pas affichées et le code PHP ne pourra pas être validé en (x)html
Posté : 09 août 2005, 17:17
par marc_3
Toutes les pages sont sauvees ici en quelque_chose.php
Marc_3
Posté : 24 déc. 2005, 18:49
par moirf
Euh je vois un espace d'ici entre le http:// et la valeur injectée PHP.
Peut-être à cause de cela.
Et ça:
<?php
?> </td>
Tu peux juste mettre </td>, inutile de rouvrir une balise <?php si c'est pour la fermer directement.
Au passage on dit adéquate.
Et au final, ceci est une solution simple, du moment que tu sécurise cette variable injectée par l'url...
Lpu8er