5568 sujets

Sémantique web et HTML

Bonjour à tous.

J'ai un petit soucis avec mon site. J'ai insérer un petit code php pour appeler les pages de mon site dans un même bloc.

Voici le code :

<div id="global">
/*php*/
<?php
if ($_GET['page']!="") {
include($_GET['page'].'.php');
}
else
{
include('accueil.php');
}
?>
</div>


Le problème c'est qu'il n'est pas valide au W3C

//ma page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


Voici les erreurs :

1# Error Line 40 column 2: "DOCTYPE" declaration not allowed in instance.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

2 # Error Line 41 column 42: document type does not allow element "html" here.

<html xmlns="http://www.w3.org/1999/xhtml">



Quelqu'un aurait-il la solution pour que mon code soit valide ? J'ai eu beau cherché et modifié, rien n'y fait !...
Modifié par Sonia10 (21 Jan 2007 - 04:02)
Bonjour Sonia10, et bienvenue sur le forum.

Pourrais-tu mettre ton code entre les balise adéquates ([ code] et [ /code] sans les espaces), stp ?

L'erreur de validation provient certainement des fichiers que tu appelles avec la fonction include. Il y a très probablement des morceaux de code HTML qui ne devraient pas s'y trouver.

Pour en avoir le coeur net, il nous faudrait le code HTML généré par le script PHP, ou mieux, une page en ligne Smiley cligne

Edit: je parie quand même sur un DOCTYPE, une balise <html>, et probablement le <head> et le <body> qui vont avec. Smiley smile
Modifié par Thomas D. (21 Jan 2007 - 03:01)
Bonjour et merci de votre réponse !
Alors le code :
<div id="global">
<?php 
if ($_GET['page']!="") {
  include($_GET['page'].'.php'); 
  }
  else 
  { 
    include('accueil.php');
	} 
  ?>
</div>


Quand je teste au W3C sans cette partie c'est valide mais pas quand elle est présente.

Donc sinon la page accueil.php, il s'agit d'une page avec un objet flash (valide) mais il se trouve aussi toute la partie <head>...</head> (je ne sais pas si il faut l'enlever). Pourtant la page accueil.php est bien valide au W3C.
Modifié par Sonia10 (21 Jan 2007 - 03:52)
Bonsoir,

Ton erreur est simple, tu as un doublon de tout !!!

Il faut faire attention avec les includes !!

Je suppose que tu insere ton flash dans l'include, donc ta page qui contient ton flash ne devrai n'y avoir de doctype, ni de balise head, ni de link etc etc