8791 sujets

Développement web côté serveur, CMS

Pages :
bonjour à tous
j'ai un problème de valider ma page web sous W3c,la première fois j'ai validé la page .html sans problème mais lorsque j'ajoute des script php dans cette page,il m'a donne l'erreur suivant:

 Sorry, I am unable to validate this document because its content type is application/x-php, which is not currently supported by this service.

The Content-Type header is sent by your web server (or web browser if you use the file upload interface) and depends on its configuration. Commonly, web servers will have a mapping of filename extensions (such as ".html") to MIME Content-Type values (such as text/html).

That you received this message can mean that your server is not configured correctly, that your file does not have the correct filename extension, or that you are attempting to validate a file type that we do not support yet. In the latter case you should let us know that you need us to support that content type (please include all relevant details, including the URL to the standards document defining the content type) using the instructions on the Feedback Page. 

Modifié par eagle83 (26 Jul 2009 - 23:14)
Salut,

le validateur du W3C valide le code html généré et n'a donc rien à faire du code PHP. Si tu utilises le copié / collé il faut donc le faire avec le code généré (sans PHP).
mais pourquoi si j'ai pris un lien d'une page web et je valide il marche malgré la page testé avec extension php???
2-un petit autre question j'ai trouvé dans un code contenant la variable $sevrer et $http est ce que je peut utilisé ces deux variables avec un serveur local (localhost)
eagle83 a écrit :
mais pourquoi si j'ai pris un lien d'une page web et je valide il marche malgré la page testé avec extension php???
L'extension .php signifie simplement que le serveur doit interpréter le code PHP contenu dans le document mais au final la page générée ne contiendra que du code html (faire "Afficher la source" pour t'en assurer). Tu devrais te renseigner sur le fonctionnement d'un langage serveur (et au passage sur celui d'un langage client).

eagle83 a écrit :
2-un petit autre question j'ai trouvé dans un code contenant la variable $sevrer et $http est ce que je peut utilisé ces deux variables avec un serveur local (localhost)
Pas compris... Si tu utilises un logiciel tel que Wamp les superglobales (telles que $_SERVER) sont bien sûr disponibles.
merciiiiiiiii bcp heyaon
pour le 1 question je vais essayer de chercher l'erreur car ma page web est une page xhtml avec des script php merciii
Heyoan a écrit :
L'extension .php signifie simplement que le serveur doit interpréter le code PHP contenu dans le document mais au final la page générée ne contiendra que du code html (faire "Afficher la source" pour t'en assurer). Tu devrais te renseigner sur le fonctionnement d'un langage serveur (et au passage sur celui d'un langage client).

excuse moi mais je pense que j'ai fait ça,mais je n'ai pas compris comment je peux faire un page contient le code php et à la même temps validé par W3C????
Bon... reprenons du début ! Smiley smile

Au commencement était une page web html (qui se nommait mapage.html)... et qui contenait par exemple :
<h2>Un titre de niveau 2</h2>
Puis arriva le PHP qui dit : "moi je suis très fort et je sais générer du code html ! La preuve : regardez cette page mapage.php !"
echo '<h2>Un titre de niveau 2</h2>';
Lorsque l'on demande au serveur de nous fournir mapage.html il renvoie directement (sans traitement) :
<h2>Un titre de niveau 2</h2>
Lorsque l'on demande au serveur de nous fournir mapage.php il interprète tout d'abord le code php puis il renvoie :
<h2>Un titre de niveau 2</h2>
Tout cela est transparent, et pour l'internaute, et pour le validateur qui dans tous les cas ne s'occupe pas de savoir si le document contenait ou non du PHP mais qui va juste traiter le code html généré.

Tu peux aussi lire cet article (des fois que je n'aurais pas été clair Smiley sweatdrop Smiley ravi ).
c'est à dire il faut ajouter echo à toutes les lignes HTML mon ami Smiley biggrin Smiley biggrin Smiley biggrin !!si vous avez bcp ligne il faut le refaire
Modifié par raj (26 Jul 2009 - 12:59)
raj a écrit :
c'est à dire il faut ajouter echo à toutes les lignes HTML mon ami
Euh... quel rapport ? Smiley langue
malheureusement ne marche pas malgré votre conseil

<?php
echo'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <title></title>

	<link rel="stylesheet" type="text/css" media="screen" href="project.css"/>
	<link rel="stylesheet" type="text/css" media="screen" href="menuH.css"/>
	<link rel="stylesheet" type="text/css" media="screen" href="menutest.css"/>
	
</head>
	<body>
	<div id="page">
		<div id="head">
			<div id="globalzone">
				<div id="zonerecherche3">
					<div id="ongletm">
						<ul>
							<li> <a href="detailAccessibilite1.php">Sur le site</a></li>
							<li> <a href="detailAccessibilite2.php">Professionel</a></li>
							<li> <a href="detailAccessibilite3.php">Produit</a></li>
						</ul>
						<div id="blocnew" >
							<span>
								<input name="Input" type="text" class="ztext" value=""/>
								</span>
								<input type="submit" name="Submit" value="OK" class="buttom" /><br/>
										<div id="menudo">
										   <ul class="niveau1">
											  <li class="sousmenu">Recherche courantes <img src="image/flechebas.png" alt="fleche bas pour la recherche courante"/>
												 <ul class="niveau2">
													<li><a href="Sous menu 2.1">cercle volant</a></li>
													<li><a href="Sous menu 2.2">r&eacute;glementation</a></li>
													<li><a href="Sous menu 2.2">adaptation conduite</a></li>
													<li><a href="Sous menu 2.2">romps</a></li>
												 </ul>
										     </li>
										   </ul>
										</div>
									<span class="rechercheavance"> <a style="text-decoration:underline;" href="" >Recherche avanc&eacute;e</a></span>
						</div>
					</div>
					
				</div>
				<div id="zonebutcara">
				<img src="image/a1.png" alt="" /><img src="image/a2.png" alt="" /><img src="image/a3.png" alt="" /><img src="image/a4.png" alt="" class="reglage" /> <img src="image/a5.png" alt=""  />
				</div>
			</div>
			
		</div>
		
			
			<div id="barreonglet">
				<div id="onglet">
					<div class="onglet" id="activ"><a href="#">Accueil</a></div>
					<div class="onglet"><a href="#">Th&eacute;matique</a></div>
					<div class="onglet"><a href="#">Actualit&eacute;</a></div>
					<div class="onglet"><a href="#">Projet</a></div>
				</div>
			</div>
		<div id="contenu">
				<div id="barremenu" class="imagebarremenu"> 
					<ul  class="niveau1">
					  <li><a href="sommesnous.php"> Qui sommes nous ? </a></li>
							  <li><a href="Nospartenaires.php">Nos partenaires</a></li>
							  <li class="sousmenu"><a href="prestations.php">Les prestations du CEREMH</a>
								  <ul class="niveau2">
									  <li><a href="rdinno.php">la R&amp;D et Innovation</a></li>
									  <li><a href="centre.php">le Centre de formation &aacute; la conduite</a></li>
									  <li><a href="observatoire.php">l&acute;observatoire des produits et services</a></li>
								  </ul>
							  </li>
							  <li><a href="">l&acute;&eacute;quipe de CEREMH</a></li>
				  
					</ul>
				</div>	
				<div id="filar"><a href="index.php">Acceuil</a><a href="detailaccessibilite.php">Actualit&eacute; accessibilit&eacute; </a> </div>
				<div id="menuinterne">
					<div id="menuvertical"> 
						<ul>
							  <li><a href="sommesnous.php"> Qui sommes nous ? </a></li>
							  <li><a href="Nospartenaires.php">Nos partenaires</a></li>
							  <li><a href="prestations.php">Les prestations du CEREMH</a></li>
							  <li><a href="">l\'&eacute;quipe de CEREMH</a></li>
							  
							  
						</ul>
					</div>
					<div id="menutheme"> 
						<ul>
							<li>Th&eacute;matique</li>
							<li>Actualit&eacute;</li>
							<li>Projet</li>
						</ul>	
					</div>
					<div id="menunewslater"> 
						<h4>NEWSLATERS</h4>
						<input name="" type="text" class="menunewslaterzonetexte" value="E-mail" /><input type="submit" name="Submit" value="OK" class="buttomnews" />
					</div>
				</div>
					<div id="operation">';
								$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
								mysql_select_db('ceremh',$connect) or die ("erreur de connexion base");
								setlocale (LC_ALL, 'fr_FR'); 
								$result = mysql_query("SELECT *,DATE_FORMAT(datenews, '%d %m %Y') AS dateus from actualite where actualite.type='Accessibilité' ORDER BY ref DESC LIMIT 1");
								$mois = array("01"=>"Janvier","02"=>"Février","03"=>"Mars","04"=>"Avril","05"=>"Mai","06"=>"Juin","07"=>"juillet","08"=>"Août","09"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Décembre"); 
								while ($row = mysql_fetch_array($result)){
								list($day,$month,$year) = explode(" ", $row["dateus"]); 
								$row["dateus"] = $day .' '. $mois[$month] .' '. $year;
								echo'<h2> Actualit&eacute; du '.$row["type"].'</h2>';
								echo'<p>'.$row["dateus"].'</p>';
								echo '<div class="photodetail" >';
								if (($row["image"]!="")) 
									{
									echo '<img src="'.$row["image"].'"  class="imphoto" alt="image de l\'actualit&eacute;" />';
									}
									else echo'<img src="image/sansphoto.png" class="imphoto" alt="l\'image n\'exist pas">';
								echo '</div>';
								echo'<p>'.$row["description"].'</p>';
								
								}
								
							
						
						
							
						
						
					echo'</div>
		</div>
			<div id="menu">
				<div id="menupublicite">
					
				</div>
				<div id="menuadherent">
					<p style="text-indent:3%;">Vous souhaitez faire un don</p>
					<p>ou devenir un adh&eacute;rent du CEREMH</p>
					<p><a href="">Cliquez ici!</a></p>
					
				</div>
				<div id="menugiocalisation">
					<p style="text-indent:38%;"> G&eacute;olocaliser vos</p>
					<p style="text-indent:26%;"> aides techniques, services,</p>
					<p style="text-indent:32%;">ou professionnel avec</p>
					<p ><a href="" style="color:#FF6633;padding-left:30%;font-size:1.4em;">GeoTP-Project</a></p>
				</div>
			</div>
			<div id="footer">
			plan | contact
			</div>
		
	</div>
	
	
	</body>
</html>';

mysql_close();
?>
Euh... c'est raj ou eagle83 qui vient de poster ? Smiley rolleyes

Quoi qu'il en soit ça ne peut pas fonctionner : tu fais des echo dans des echo ! D'ailleurs pourquoi diable ne pas écrire directement le code html ? Pour rappel : ce n'est pas parce qu'une page est en .php qu'il faut faire les écritures via echo ou print ni même qu'elle doive contenir le moindre code PHP.

test.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
</head>
<body>
<p>Ceci fonctionne !</p>
<?php
echo '<p>et ça aussi !</p>';
?>
</body>
</html>
mais mon amie c'est ça ce que j'ai fait la premiére fois

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <title></title>

	<link rel="stylesheet" type="text/css" media="screen" href="project.css"/>
	<link rel="stylesheet" type="text/css" media="screen" href="menuH.css"/>
	<link rel="stylesheet" type="text/css" media="screen" href="menutest.css"/>
	
</head>
	<body>
	<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('ceremh',$connect) or die ("erreur de connexion base");
setlocale (LC_ALL, 'fr_FR'); 
$result = mysql_query("SELECT *,DATE_FORMAT(datenews, '%d %m %Y') AS dateus from actualite where actualite.type='automobile' ORDER BY ref DESC LIMIT 1");
$mois = array("01"=>"Janvier","02"=>"Février","03"=>"Mars","04"=>"Avril","05"=>"Mai","06"=>"Juin","07"=>"juillet","08"=>"Août","09"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"Décembre"); 
?>
	<div id="page">
		<div id="head">
			<div id="globalzone">
				<div id="zonerecherche2">
					<div id="ongletm">
						<ul>
							<li> <a href="detailauto.php">Sur le site</a></li>
							<li> <a href="detailauto2.php">Professionel</a></li>
							<li> <a href="detailauto3.php">Produit</a></li>
						</ul>
						<div id="blocnew" >
							<span>
								<input name="Input" type="text" class="ztext" value=""/>
								</span>
								<input type="submit" name="Submit" value="OK" class="buttom" /><br/>
										<div id="menudo">
										   <ul class="niveau1">
											  <li class="sousmenu">Recherche courantes <img src="image/flechebas.png" alt="fleche bas pour la recherche courante"/>
												 <ul class="niveau2">
													<li><a href="Sous menu 2.1">cercle volant</a></li>
													<li><a href="Sous menu 2.2">r&eacute;glementation</a></li>
													<li><a href="Sous menu 2.2">adaptation conduite</a></li>
													<li><a href="Sous menu 2.2">romps</a></li>
												 </ul>
										     </li>
										   </ul>
										</div>
									<span class="rechercheavance"> <a style="text-decoration:underline;" href="" >Recherche avanc&eacute;e</a></span>
						</div>
					</div>
					
				</div>
				<div id="zonebutcara">
				<img src="image/a1.png" alt="" /><img src="image/a2.png" alt="" /><img src="image/a3.png" alt="" /><img src="image/a4.png" alt="" class="reglage" /> <img src="image/a5.png" alt=""  />
				</div>
			</div>
			
		</div>
		
			
			<div id="barreonglet">
				<div id="onglet">
					<div class="onglet" id="activ"><a href="#">Accueil</a></div>
					<div class="onglet"><a href="#">Th&eacute;matique</a></div>
					<div class="onglet"><a href="#">Actualit&eacute;</a></div>
					<div class="onglet"><a href="#">Projet</a></div>
				</div>
			</div>
		<div id="contenu">
				<div id="barremenu" class="imagebarremenu"> 
					<ul  class="niveau1">
					  <li><a href="sommesnous.php"> Qui sommes nous ? </a></li>
							  <li><a href="Nospartenaires.php">Nos partenaires</a></li>
							  <li class="sousmenu"><a href="prestations.php">Les prestations du CEREMH</a>
								  <ul class="niveau2">
									  <li><a href="rdinno.php">la R&amp;D et Innovation</a></li>
									  <li><a href="centre.php">le Centre de formation &aacute; la conduite</a></li>
									  <li><a href="observatoire.php">l&acute;observatoire des produits et services</a></li>
								  </ul>
							  </li>
							  <li><a href="">l&acute;&eacute;quipe de CEREMH</a></li>
				  
					</ul>
				</div>	
				<div id="filar"><a href="index.php">Acceuil</a><a href="detailauto.php">Actualit&eacute; automobile</a>  </div>
				<div id="menuinterne">
					<div id="menuvertical"> 
						<ul>
							  <li><a href="sommesnous.php"> Qui sommes nous ? </a></li>
							  <li><a href="Nospartenaires.php">Nos partenaires</a></li>
							  <li><a href="prestations.php">Les prestations du CEREMH</a></li>
							  <li><a href="">l'&eacute;quipe de CEREMH</a></li>
							  
							  
						</ul>
					</div>
					<div id="menutheme"> 
						<ul>
							<li>Th&eacute;matique</li>
							<li>Actualit&eacute;</li>
							<li>Projet</li>
						</ul>	
					</div>
					<div id="menunewslater"> 
						<h4>NEWSLATERS</h4>
						<input name="" type="text" class="menunewslaterzonetexte" value="E-mail" /><input type="submit" name="Submit" value="OK" class="buttomnews" />
					</div>
				</div>
					<div id="operation">
						<?php
								
								while ($row = mysql_fetch_array($result)){
								list($day,$month,$year) = explode(" ", $row["dateus"]); 
								$row["dateus"] = $day .' '. $mois[$month] .' '. $year;
								echo'<h2> Actualit&eacute; du '.$row["type"].'</h2>';
								echo'<p>'.$row["dateus"].'</p>';
								echo '<div class="photodetail" >';
								if (($row["image"]!="")) 
									{
									echo '<img src="'.$row["image"].'"  class="imphoto" alt="image de l\'actualit&eacute;" />';
									}
									else echo'<img src="image/sansphoto.png" class="imphoto" alt="l\'image n\'exist pas">';
								echo '</div>';
								echo'<p>'.$row["description"].'</p>';
								
								}
						
						?>
						
							
						
						
					</div>
		</div>
			<div id="menu">
				<div id="menupublicite">
					
				</div>
				<div id="menuadherent">
					<p style="text-indent:3%;">Vous souhaitez faire un don</p>
					<p>ou devenir un adh&eacute;rent du CEREMH</p>
					<p><a href="">Cliquez ici!</a></p>
					
				</div>
				<div id="menugiocalisation">
					<p style="text-indent:38%;"> G&eacute;olocaliser vos</p>
					<p style="text-indent:26%;"> aides techniques, services,</p>
					<p style="text-indent:32%;">ou professionnel avec</p>
					<p ><a href="" style="color:#FF6633;padding-left:30%;font-size:1.4em;">GeoTP-Project</a></p>
				</div>
			</div>
			<div id="footer">
			plan | contact
			</div>
		
	</div>
	
	
	</body>
</html>
<?php
mysql_close();
?>

mais il ne marche pas!!!!!!!!!!!!!!!!!!
Heyoan a écrit :
Euh... c'est raj ou eagle83 qui vient de poster ? Smiley rolleyes


eagle83 c'est mon collègue on travaille sur la même projet
Modifié par raj (26 Jul 2009 - 14:41)
Modérateur
Hello tout le monde, Smiley smile

J'ai l'impression que vous vous emmêlez les pinceaux :

* tester le script sur WAMP,
* afficher le code source depuis le navigateur,
* sélectionner tout (le code source bien sûr),
* copier,
* aller sur le validateur,
* onglet Validate by direct input,
* coller,
* envoyer à la validation.

Bon dimanche à vous
Modifié par Nolem (26 Jul 2009 - 14:58)
raj a écrit :
mais il ne marche pas
Eh bien si : il marche !

Que le code génère quelques erreurs de validations n'est pas lié à PHP mais au code html généré :
* élément IMG ne terminant pas par /> à la ligne "l'image n'existe pas"
* l'attribut href de certains liens qui sont vides ou qui ne contiennent pas une URI valide (comme href="Sous menu 2.2").
* l'attribut name d'un INPUT non renseigné.
* ...
raj a écrit :
eagle83 c'est mon collègue on travaille sur la même projet
Ah OK ! Smiley cligne


Edit: en repassant par là je me rends compte que j'ai oublié une petite remarque : si le champ datenews était un vrai champ de type date (DATE, DATETIME, etc...) et non pas un VARCHAR du genre "26 07 2009" vous n'auriez pas eu le problème dont il est question dans ce post. En bonus l'insertion dans la base serait plus simple à faire avec NOW() : cf. cet autre post.
Modifié par Heyoan (26 Jul 2009 - 15:27)
Heyoan a écrit :
Eh bien si : il marche !

Que le code génère quelques erreurs de validations n'est pas lié à PHP mais au code html généré :
* élément IMG ne terminant pas par /> à la ligne "l'image n'existe pas"
* l'attribut href de certains liens qui sont vides ou qui ne contiennent pas une URI valide (comme href="Sous menu 2.2").
* l'attribut name d'un INPUT non renseigné.
* ...

merci hoyan il marche si j'ai choisis "Validate by Direct Input" mais si choisis " Validate by File Upload"
il affiche le message suivant:"Sorry! This document can not be checked."
raj a écrit :
merci hoyan il marche si j'ai choisis "Validate by Direct Input" mais si choisis " Validate by File Upload"
il affiche le message suivant:"Sorry! This document can not be checked."
Eh oui : c'était d'ailleurs ma première réponse. Smiley lol
ollllllllllàààààà!c'est à dire chaque page il faudra supprimer son code php et génére que son contenu html????????
Pages :