5568 sujets

Sémantique web et HTML

bonjour à tous, un petit problème pour la validation de ma page contact(formulaire en php) lors de la validation w3C en "DTD XHTML 1.0 Transitional".

ce probleme est du à un menu déroulant de sélection

je vous met ci-dessous la partie qui me pose probleme :

dans le <body> j'ai


<? for($id=0;$id<count($list["f_9"]);$id++){
if($id==$f_9){$ct="selected";}
print("<option ".$ct." value=".$id.">".$list["f_9"][$id]."</option>");
unset($ct);
}?>



qui renvoie à une partie dans le <head>

[/code]
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !
$list['f_9']=array("Sélectionnez","Renseignements"," Commandes","Problemes sur le site","Autres");
[/code]


les erreurs se trouvent au niveaux des valeurs est sont signalées par le validateur comme ci-dessous :


# an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

<option selected value=0>Sélectionnez</option><option  value=1>Renseignements</…

&#9993;
# Error Line 205, Column 62: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

…0>Sélectionnez</option><option  value=1>Renseignements</option><option  value=…

&#9993;
# Error Line 205, Column 102: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

…Renseignements</option><option  value=2> Commandes</option><option  value=3>Pr…

&#9993;
# Error Line 205, Column 138: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

…e=2> Commandes</option><option  value=3>Problemes sur le site</option><option …

&#9993;
# Error Line 205, Column 185: an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified

…oblemes sur le site</option><option  value=4>Autres</option></select></td></tr>



en cherchant des infos j'ai trouvées qu'il fallait que j'entoure ces valeurs par "" mais cela ne fonctionne pas.
ci quelqu'un pourrait m'aider se serait sympa Smiley cligne
Modifié par Tekken (08 Feb 2011 - 11:41)
Bonjour,
Tu interprètes mal le message d'erreur, il n'est pas question de l'attribut value mais de valeur d'attribut.
Plus précisément de selected qui devrait prendre la forme selected="selected".
oui mais ici mon attribut est remplacé par "$ct" Smiley decu

quelle est la syntaxe exacte à rentrer, ou que dois-je remplacer ?
euh désolé mais je ne suis pas ur de bien comprendre ce que tu veux dire Smiley ohwell

ma page se nomme "contact.php", il faut que je la fasse valider en "contact.html" par le validateur ?
Tekken a écrit :
euh désolé mais je ne suis pas ur de bien comprendre ce que tu veux dire Smiley ohwell

ma page se nomme "contact.php", il faut que je la fasse valider en "contact.html" par le validateur ?


Ton document "contact.php" doit être traité par ton serveur (demande de la page depuis un navigateur). Une fois ce traitement fait la source HTML est fournie au navigateur pour affichage.

Le code à valider est le code généré par le serveur (celui présent dans l'option "code source" de ton navigateur). Est-ce plus clair Smiley smile ?
yodaswii a écrit :


Ton document &quot;contact.php&quot; doit être traité par ton serveur (demande de la page depuis un navigateur). Une fois ce traitement fait la source HTML est fournie au navigateur pour affichage.

Le code à valider est le code généré par le serveur (celui présent dans l'option &quot;code source&quot; de ton navigateur). Est-ce plus clair Smiley smile ?



plus clair, euh pas vraiment sure Smiley ohwell

vous parlez donc de mettre le code à traiter en fichier externe ?
Tekken a écrit :
plus clair, euh pas vraiment sure Smiley ohwell

vous parlez donc de mettre le code à traiter en fichier externe ?


Désolé avec Patidou, on s'est trompé en pensant que tu validais la source PHP (celle présentant les instructions PHP <? & co.) Smiley smile .

Pour ton souci de validation, c'est un problème de syntaxe des attributs présents sur tes éléments option ; la syntaxe suivante corrigera certaines de tes erreurs :
<option selected="selected" value="...">
Pour aller plus loin :


<?php
   for($id=0;$id<count($list["f_9"]);$id++) {
      echo '<option value="'.$id.'"'.($id == $f_9 ? ' selected="selected"' : '').'>'.$list["f_9"][$id].'</option>';
   }
?>

Modifié par yodaswii (07 Feb 2011 - 16:44)
yodaswii a écrit :


Désolé avec Patidou, on s'est trompé en pensant que tu validais la source PHP (celle présentant les instructions PHP &lt;? &amp; co.) Smiley smile .

Pour ton souci de validation, c'est un problème de syntaxe des attributs présents sur tes éléments option ; la syntaxe suivante corrigera certaines de tes erreurs :
&lt;option selected=&quot;selected&quot; value=&quot;...&quot;&gt;



cette solution je l'avais déjà éssayé, mon code ce mettais en erreur Smiley ohwell


yodaswii a écrit :
Pour aller plus loin :


&lt;?php
   for($id=0;$id&lt;count($list[&quot;f_9&quot;]);$id++) {
      echo '&lt;option value=&quot;'.$id.'&quot;'.($id == $f_9 ? ' selected=&quot;selected&quot;' : '').'&gt;'.$list[&quot;f_9&quot;][$id].'&lt;/option&gt;';
   }
?&gt;


par contre cette solution fonctionne Smiley winner , plus d'erreur lors de la validation de ma page Smiley winner
merci beaucoup pour ton aide yodaswii Smiley cligne

p.s: comment met on le message en résolu ?
Modifié par Tekken (07 Feb 2011 - 18:36)