Adresse avec attribut et W3C

Résolu
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   -  
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous , je tente de valider mes pages avec la norme W3C et le doctype suivant :

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

mon problème ce situe au niveau des attributs &attachement &origine

onclick="window.location.href='index.php?adresse=catalogue.php&attachement=<?php echo $attachement;?>&origine=<?php echo $origine;?>';">

en effet depuis que j'ai inséré doctype la page catalogue ne fonctionne plus
si j'enlève la première ligne doctype ça marche !!!!

je ne comprend pas du tout ou est le probleme

doit on declarer autrement les attribut dans le lien ?

merci de me repondre car je suis presque en panique ^^
A voir également:

7 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

ça doit venir de l'esperluette.

il faut remplacer le "&" par son entité : "&amp;"
0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
merci dalida toujours la quand il faut

ca a resolu en parti le probleme pour w3c l'erreur est parti mais toujours le probleme de l'affichage ...
c'est incomprehensible d'autres pages sur le meme shema fonctionne , il n'y a que celle ci qui ne s'affiche pas comme elle devrait je vais chercher ce qui ne va pas dans mon code

sinon encore merci

t'es un chef toujours la quand il faut merci
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922 > leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention  
 
merci du compliment !
-:o)

je ne comprends pas bien le reste.

la page catalogue ne s'affiche pas quand tu l'appelles depuis ce "onclick" ?

si oui peux-tu nous C/C le "onclick" une fois servi dans le navigateur et aussi l'url sur laquelle tu atterris (juste la page et les paramètres).
0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
alors voici le shema suivis

index appel le menu

le menu possede le code suivant :

<?php
?>
<div class="menuinvite">
<center>
<br/><br/>
<input style="width: 150px" type="button" value="s'enregistrer" onclick="window.location.href='index.php?adresse=inscriptionfinal.php';"></input>
<br/><br/>
<input style="width: 150px" type="button" value="se connecter" onclick="window.location.href='index.php?adresse=logue.php';"></input>
<br/><br/>
<input style="width: 150px" type="button" value="Recherche" onclick="window.location.href='index.php?adresse=recherche.php';"></input>
<br/><br/>
<input style="width: 150px" type="button" value="Catalogue" onclick="window.location.href='index.php?adresse=catalogue.php&attachement=<?php echo $attachement;?>&origine=<?php echo $origine;?>';"></input>
<br/><br/>
<input style="width: 150px" type="button" value="Forum" onclick="window.open('/forum','_blank','toolbar=1, location=1, directories=1, status=1, scrollbars=1, resizable=1, copyhistory=1, menuBar=1');"></input>
<br/><br/><br/><br/>
</center>
</div>
<?php
?>

maintenant la page catalogue :

<?php
$att=htmlentities($_GET["attachement"], ENT_QUOTES);
$ori=htmlentities($_GET["origine"], ENT_QUOTES);
if($att==0)
{
require('connection/start.php');
$requete='SELECT * FROM categorie';
$valeur=mysql_query($requete);
$ligne=mysql_affected_rows();
$result= mysql_query("SELECT MAX(uid) AS LAST_ID FROM categorie");
$result = mysql_fetch_array($result);
$uidlast=$result['LAST_ID'];
$i=0 ;
$j=1;

while ($j<=$uidlast)
{
$requete="SELECT * FROM categorie where uid='$j' and attachement='$att'";
$valeur=mysql_query($requete);
if (mysql_affected_rows()<>0)
{
$i=$i+1;
$tableau=mysql_fetch_array($valeur);
$nom2=$tableau["nom"];
$description=$tableau["description"];
$image=$tableau["image"];
$nbart=$tableau["nbart"];
$attachement=$tableau["uid"];
?>
<HTML>
<BODY style="height: 100%;margin: 0";>
<div style="float:left;background-color: #c9ebe3;width:343px; height:111px; overflow:hidden;border:2px solid white;line-height: 111px;">
<div align="center">
<table border="1" width="100%">
<tr>
<td width="100%" colspan="3" align="center">
<a href="monsite/<?php echo $ori;?>?adresse=catalogue.php&attachement=<?php echo $attachement;?>&origine=<?php echo $ori;?>">
<b><?php echo $nom2;?></b>
</a>
</td>
</tr>
<tr>
<td width="20%" align="center">
<img src="<?php echo $image;?>"></img>
</td>
<td width="60%" align="center">
<b><?php echo $description;?></b>
</td>
</tr>
<tr>
<td width="100%" colspan="3" align="center">
<b><?php echo $nbart;?>   articles présent</b>
</td>
</tr>
</table>
</div>
</div>
</BODY>
</HTML>
<?php
}

$j=$j+1;
if($i>=$ligne){$j=100000000000;}
}
require('connection/stop.php');
}

...affichage different apres si l'attachement est different de 0
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
et qu'est ce qui cloche exactement dans l'affichage ?

en tout cas tu utilises 'mysql_affected_rows()' au lieu de 'mysql_num_rows()'
regarde les valeurs de retour de 'mysql_query()'.
0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
oui effectivement ya un soucis au niveau de num et affected ....

je viens de corriger , ca ne change rien ^^ mais au moins s'est un peu plus juste

sinon voici ce qui ne va pas au niveau de l'affichage :
il ne marque plus que le lien vers la sous categorie ceci precisement

<td width="100%" colspan="3" align="center">
<a href="monsite/<?php echo $ori;?>?adresse=catalogue.php&attachement=<?php echo $attachement;?>&origine=<?php echo $ori;?>">
<b><?php echo $nom2;?></b>
</a>
</td>

mais n'affiche plus le reste alors que je n'ai vraiment rien touché en dehors du doctype dans l'index (si je l'enleve tout se reaffiche)

le reste c'est description , image , nb d'articles etc ....(le code qui suit celui du dessus)

voila j'espere etre assez clair
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
tu peux déjà corriger le HTML, ça peut pas faire de mal.

mets toutes balises en minuscules et ajoute un <head> :
	<head>
		<title>Titre de la page</title>

		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
		<meta http-equiv="content-language" content="fr" />
	</head>

0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
non au contraire je suis en train de tout enlever pour valider w3c
l'index est fait et qqs pages annexe aussi

le title html et compagnie s'est seulement sur l'index car les autres pages s'encapsule dans l'index sans iframe

tu ne te souviens pas je t'avais posé la question il y a quelques temps
tu m'avais dirigé vers ajax ....

j'ai trouvé comment faire autrement au final

on clic sur le bouton catalogue et le catalogue s'affiche dans un cadre
on clic sur se connecter la connection s'affiche dans le meme cadre etc ....

donc hard avec le validateur ^^
du coup les balises ne peuvent etre que dans l'index ... enfin ca avance plutot bien
ya juste ce probleme incomprehensible du catalogue ! je vais bien finir par trouver ^^

une autre question plus simple cette fois , j'utilise HTML validator de mozilla pour m'aider
j'ai corrigé toutes les erreurs mais il reste certain avertissement

du type

<p> </p> pas bon
<p>blabla</p> bon

les avertissement que j'ai sont :

<center><b><font color="red"></font></b></center>

il ne trouve rien entre les balises car s'est du php ???comment modifier ca pour qu'il soit content
0

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

Posez votre question
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

je suis en train de tout enlever pour valider w3c
heu… pas la peine de tout enlever, suffit de respecter les règles !
et pour être validé, mieux vaut un charset !

<p> </p>
pas bon parce que les paragraphes vides sont déconseillées.

<center> et <font>
on ne l'utilise plus, tu dois mettre en page avec CSS.

<b>
mieux vaut utiliser <strong>

il ne trouve rien entre les balises car s'est du php
si t'as page est servie par un serveur web les balises ne devraient pas être vides !

comment effectues-tu tes tests ?
tu as bien un serveur installé en local et il est bien démarré ?
0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
oui j'ai gardé le charset pour l'index
je vais essayer de remplacer <b> par <strong> quand a <font color=....> je met souvent du php pour la couleur en fonction des erreurs ca varie

je peu mettre du php dans le css entre les balise style ???

sinon mes pages sont quasiment toutes valides maintenant
j'ai revu hier mon code pour catalogue et je l'ai simplifié ! s'est un div qui faisai tout foiré ... enfin ca marche maintenant mais je n'ai toujours pas compris pourquoi il fonctionnai avant ....

pas grave le code est plus clair et ca marche

sinon pour les test je le fait en direct sur free , mon site est en ligne (s'est le meilleur des tests je crois ^^)

sinon pour en revenir a ces balises

<center><b><font color="red"></font></b></center>

elle ne sont pas vide le code complet est :

<center><b><font color="red"><?php echo $variable; ?></font></b></center>

lui il interprete ca comme vide ????
si je met ca :

<center><b><font color="red"><?php echo $variable; ?>.</font></b></center>
ca marche sauf que s'est de la bidouille je trouve !
et puis le point apparait tout le temps mais je ne veu pas car c'est un message d'erreur le $variable ....
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
pour le style, si il est dans une balise dans "index" tu peux mettre du PHP mais tu risques vite de t'embrouiller.
tu peux aussi le mettre dans une feuille séparée et la faire interpréter par PHP (avec un ".htaccess") mais là encore, attention aux imbroglios.

le plus simple est d'écrire ta balise avec PHP et de lui appliquer un style qui est défini par ailleurs, au passage tu peux gérer l'affichage conditionnel.
<?php
	if( isset( $error ) )
	{
		echo "\t<p class=\"error\">$error</p>\n";
	}
?>

et en CSS
p.error
{
text-align:center;
color:#F00;
font-weight:bold;
}

toujours séparer le contenu de la mise en page !
-;o)

et pour ton problème avec 'echo()' il y a un truc qui cloche ce n'est vraiment pas logique.
0
leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention   2
 
bon encore merci dalida
je vais mettre toutes ces bonnes choses en application
je pense qu'avec ca mon probleme est entierement résolu

je te met un 10/10 ^^

@ bientot et encore merci
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922 > leod Messages postés 98 Date d'inscription   Statut Membre Dernière intervention  
 
content d'avoir pu t'aider.

bon courage pour la suite et à plus !
0