Boutton haut php erreur w3c

Fermé
debhane - 31 août 2014 à 16:32
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 2 sept. 2014 à 14:33
Bonjour,


j'ai un boutton

<a class="buttons up_arrow" href="'.$_SERVER['REQUEST_URI'].'#top" title="En haut">Remonter</a>

mais il me dit erreur sur w3c


Line 333, Column 82: & did not start a character reference. (& probably should have been escaped as &.)
...w" href="/forum-voirmessage.html?fid=1&tid=368&num=1#top" title="En haut">Remo...


es ce vous conaissez un code qui fait la même chose sans qu'il met erreur w3c

merci de votre aide

A voir également:

9 réponses

meganium Messages postés 284 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 21 avril 2016 81
Modifié par meganium le 31/08/2014 à 18:31
Bonjour votre probleme est dans la mauvaise section.
Cependant il faudrait mieux utiliser :
<a class="buttons up_arrow" href="<?php $_SERVER['REQUEST_URI']; ?>#top" title="En haut">Remonter</a> 


aux lieu de :
echo'
<a class="buttons up_arrow" href="'.$_SERVER['REQUEST_URI'].'#top" title="En haut">Remonter</a> 
';
0
il y a quelqu'un qui a répondu mais je ne vois pas sa réponse
0
meganium Messages postés 284 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 21 avril 2016 81
1 sept. 2014 à 11:50
0
merci je ne vois pas la réponse le jours ou je comprendrais ce forum qui est un peut bizzare au niveau de la presentation
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
Modifié par Pitet le 1/09/2014 à 14:48
Salut,

Tes caractères '&' devrait être remplacé par '& amp;' (sans espace) dans ton lien.
Utilises la fonction php urlencode() pour construire correctement ton url.

Bonne journée
0
je sais mais si je remplace

if(($antiup['forum_membre_id']==$_SESSION['id']&&($antiup['post_time']+(60*60)*24)>time())&&id2level()<MODO && $antiup['topic_locked']<1)

par des amp;

il me dit

Parse error: syntax error, unexpected ';' in /var/www/legtux.org/users/monsite/modules/forum/message/message.php on line 237
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
1 sept. 2014 à 15:06
Je parlais des caractères & présent dans ton url (en html), pas ceux en php correspondant à l'opérateur logique ET (&&) ou ceux devant le nom des variables php.

Quel est ton code qui affiche ce lien ?
0
le code source html

<a href="/forum-voirmessage.html?fid=1&tid=368&num=1#top" title="En haut">Remonter</a>

et le code sur ma page

<a href="'.$_SERVER['REQUEST_URI'].'#top" title="En haut">Remonter</a>

ca vien de là

if(($antiup['forum_membre_id']==$_SESSION['id']&&($antiup['post_time']+(60*60)*24)>time())&&id2level()<MODO && $antiup['topic_locked']<1)


mais si je le change ca fait erreur parce
0
j'ai recorriger tt mes lien

}
redirect("Votre réponse à été ajoutée",getLienModule("forum","voirmessage")."?fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);
}else{
redirect("Veuillez renseignez un méssage avant d'envoyer le formulaire !",getLienModule("forum","repondre")."?type=message&fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);
}
}


mais apparent come tu dit il ne sais pas si c'est un lien
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
2 sept. 2014 à 12:30
Pour afficher correctement un lien dans un document html :
$lien = 'index.php?foo=1&bar=2';
echo $lien; // incorrect : syntaxe html non valide
echo htmlentities($lien); // correct : syntaxe html valide


https://www.htmlhelp.com/tools/validator/problems.html.fr#amp

https://www.php.net/manual/fr/function.urlencode.php#refsect1-function.urlencode-notes
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
1 sept. 2014 à 15:44
Bonjour,

À mon avis le problème vient de plus haut dans ton code.
Il est tout-à-fait légitime d'avoir des & dans une URL, pour séparer les variables passées en GET. Le vérificateur ne devrait pas te les signaler, à moins qu'il n'ait pas reconnu qu'il était dans un lien !

Vérifie que le code juste avant ton lien est correct, et qu'il n'y a pas de caractère bizarre dans le code html (genre une espace insécable au lieu d'une espace normale...)

Xavier
-1
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
2 sept. 2014 à 12:32
Non, & est un caractère spécial en html (début d'une entité). Il est donc normal que le validateur signale une erreur pour un & qui n'est pas utilisé pour décrire une entité html et qui devrait donc être convertie.
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
2 sept. 2014 à 13:05
Dans un texte entre deux balises (CDATA), oui, mais pas dans la valeur d'un attribut !
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
2 sept. 2014 à 14:16
C'est l'inverse, le contenu d'un CDATA est ignoré par le parser donc on peut y insérer ce que l'on souhaite.
Par contre dans un document html, tous les caractères réservés (<, > et &) doivent être remplacé par des entités : Reserved characters in HTML must be replaced with character entities.
https://www.w3schools.com/html/html_entities.asp
https://www.htmlhelp.com/tools/validator/problems.html.fr#amp
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
2 sept. 2014 à 14:28
Comme quoi on en apprend tous les jours.
J'ai toujours cru qu'il était normal de laisser les & tels quels dans les URL...
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
2 sept. 2014 à 14:33
C'est uniquement pour le cas d'un document HTML (ou XML).
Et ce n'est pas une erreur bloquante, c'est surtout pour faire plaisir au validateur ;)
0