[RESOLU] erreur document type does not allow element "

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
DISCRET
Lézard vert
Messages : 156
Inscription : 04 août 2004, 11:34

[RESOLU] erreur document type does not allow element "

Message par DISCRET »

bonjour,

je viens de récupérer un programme qui permet de mettre les adresses et les liens en dur dans MyPhpAnnuaire :
http://myphpannuaire.audiencestv.com/

mais après avoir corrigé quelqes petites chose pour le rendre valide en XHTML tansitional, je but sur les dernières "erreurs"
adresse pour avoir accès à mon annu modifié :
http://lelogiciellibre.net/annuaire-encyclopedie/

voilà l'erreur sur laquelle je bute :

Code : Tout sélectionner

document type does not allow element "td" here.

<td valign="top" width="50%">

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
la partie du code :

Code : Tout sélectionner

	<table style="border: 0; width: 60%; align: center;">

	<?php

	//tableau des categories



	//pour chaque categories meres trouvees on les affiche avec leurs X premieres sous-cat

	$i=0;

	while ($une_categorie = mysql_fetch_array($res_cat,MYSQL_ASSOC))

	{

		if ($i%2 == 0) //colonne de gauche et donc nouvelle ligne

			echo "<tr>\n";

		$i++;

		//on affiche la categorie mere

		?>

<td valign="top" width="50%">

<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />

<a href="<?php echo id_to_url($une_categorie["id"],$une_categorie["cat_name"],'1'); ?>" class="link_cat_index_annuaire"><?php echo htmlspecialchars($une_categorie["cat_name"]); ?></a>

 <span class="nb_scat_index_annuaire">(<?php echo get_nbsites($une_categorie["id"]); ?>)</span>

		<?php

		//on va voir si il n'y a pas des sous-categories

		$sql_scat = "SELECT id,cat_name FROM $T_categories WHERE id_cat_mere = '$une_categorie[id]' AND activation = '1' ORDER BY position ASC, cat_name ASC LIMIT 0,$nb_scats_onindex ";

		$res_scat = send_sql($sql_scat,"trouver les sous-catégories");

		echo "\n<br />\n";

		//on affiche les sous-categories

		while ($une_souscat = mysql_fetch_array($res_scat,MYSQL_ASSOC))

		{

			?>

<a href="<?php echo id_to_url($une_souscat["id"],$une_souscat["cat_name"],'1'); ?>" class="link_scat_index_annuaire"><?php echo htmlspecialchars($une_souscat["cat_name"]); ?></a>

&nbsp;&nbsp;

			<?php

		}

		echo "<br /><br />\n";

	}

	?>

	</table>
auriez vous une idée pour m'aider ?
Dernière modification par DISCRET le 22 août 2005, 23:54, modifié 1 fois.
Mandriva 2007 64bits - Firefox 2.0 - Thunderbird 2.0
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

Où sont les </td> et </tr> ?
« La vie d’un geek est un combat perpétuel contre l’imperfection »
DISCRET
Lézard vert
Messages : 156
Inscription : 04 août 2004, 11:34

Message par DISCRET »

nul part, j'ai essayeé de les rajouter avant </table> mais ça ne change rien
Mandriva 2007 64bits - Firefox 2.0 - Thunderbird 2.0
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Le validateur ne valide pas le code php, mais le code html retourné par php (ne contenant plus aucune trace de php).

Ce serait probablement utile de voir le code html retourné pour pouvoir trouver l'erreur php :wink:
DISCRET
Lézard vert
Messages : 156
Inscription : 04 août 2004, 11:34

Message par DISCRET »

merci pour cette indication :)

voici le code html qui doit correspondre au morceau de code précédent :

Code : Tout sélectionner

<table style="border: 0; width: 60%; align: center;">
	<tr>
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />

<a href="alternative-de-vie-p1-4.html" class="link_cat_index_annuaire">alternative de vie</a>
 <span class="nb_scat_index_annuaire">(1)</span>
		
<br />
<br /><br />
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />
<a href="encyclopedie-pratique-p1-6.html" class="link_cat_index_annuaire">encyclopédie pratique</a>
 <span class="nb_scat_index_annuaire">(3)</span>
		
<br />

<br /><br />
<tr>
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />
<a href="generaliste-p1-3.html" class="link_cat_index_annuaire">généraliste</a>
 <span class="nb_scat_index_annuaire">(1)</span>
		
<br />
<br /><br />
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />
<a href="informatique-p1-7.html" class="link_cat_index_annuaire">informatique</a>
 <span class="nb_scat_index_annuaire">(3)</span>

		
<br />
<br /><br />
<tr>
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />
<a href="juridique-p1-8.html" class="link_cat_index_annuaire">juridique</a>
 <span class="nb_scat_index_annuaire">(1)</span>
		
<br />
<br /><br />
<td valign="top" width="50%">
<img src="img/dossier.gif" style="border: 0;" alt="icone dossier" />
<a href="vulgarisation-p1-5.html" class="link_cat_index_annuaire">vulgarisation</a>

 <span class="nb_scat_index_annuaire">(2)</span>
		
<br />
<br /><br />
	</table>
je m'apperçois qu'aucune balise td ou tr ne sont fermées, comment les rajouter simplement ?
est-ce que avec

Code : Tout sélectionner

echo "</tr>\n";
cela conviendrait et si oui où la placer et mettre un /td juste avant /table ?
Mandriva 2007 64bits - Firefox 2.0 - Thunderbird 2.0
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Tu vois que c'est tout de suite mieux, tu arrives même à trouver la cause du problème tout seul :wink:

Je pense que tu peux commencer par virer tous les br. Tu pourra toujours mettre des paddings si nécessaire.

Ensuite, effectivement, chaque td ainsi que le tr doivent obligatoirement être fermés. Donc un </tr> tout à la fin, et des </td> après chaque contenu de cellule :wink:
DISCRET
Lézard vert
Messages : 156
Inscription : 04 août 2004, 11:34

Message par DISCRET »

oui mais parceque vous m'aiguiller ;)

pour le /tr je l'ai mis avant /table
le /td je l'ai mis après /span

ça m'a résolu une partie du problème, regardez l'écart que ça m'a créé entre " Cet annuaire contient 11 sites répartis dans 6 catégories" et les catégories :(

edit: enfin presque le /td est bon mais je ne trouve pas où placer le /tr :( , il ne doit intervenir qu'à la fin d'une catégorie sur deux.
Mandriva 2007 64bits - Firefox 2.0 - Thunderbird 2.0
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Es-tu sur que les tables sont ce qu'il y a de plus approprié ? Ou est-ce qu'elles sont juste pour la mise en forme ? (auquel cas il faudrait voir pour les remplacer par CSS) ?
Parce que là, s'il faut mettre une nouvelle ligne une fois sur deux, et que ça n'a pas de logique (à part le 1/2)... :roll:

Pour mettre un </tr> une fois sur deux il faudrait créer une variable que tu indentes... c'est le chenit !
DISCRET
Lézard vert
Messages : 156
Inscription : 04 août 2004, 11:34

Message par DISCRET »

merci beacoup de ton aide Calimo et Bobe bien sur :)

j'ai réussis après avoir bien fais travailler ma petite tête ;)
donc j'ai rajouté :

Code : Tout sélectionner

		if ($i%2 == 0)

			echo "</tr>\n";

juste avant /table :

Code : Tout sélectionner

		if ($i%2 == 0)

			echo "</tr>\n";

	}

	?>
	</table>
Pour la mise en CSS, ce n'est pas mon script, c'est celui de MyPhpAnnuaire ou une évolution, donc...
Dernière modification par DISCRET le 22 août 2005, 23:32, modifié 1 fois.
Mandriva 2007 64bits - Firefox 2.0 - Thunderbird 2.0
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 10 invités