5568 sujets

Sémantique web et HTML

bonjour,
j'essaye de valider mon site (page en php) j'utilise les sessions et losque je valide j'ai des erreurs à cause du &. le problème est que mes liens sont du type :
<a href="catalogue.php?page=liens" title="Test">Liens</a>
quant on regarde le source de la page aprés affichage on a:
<a href="catalogue.php?page=liens&PHPSESSID=c4dffa8366d70449206a57f1016df6e8" title="Test">Liens</a>

Comment peut résoudre ce problème ? quelqu'un a t'il une solution ? merci. Smiley eek
Modifié par lolohe (02 Aug 2006 - 06:28)
Je me souviens avoir eu ce problème y'a plus d'un an, c'est sur la FAQ d'alsa que j'ai trouvé ma réponse et sur la FAQ de developpez.com rubrique PHP Smiley lol
merci pour vos réponses Smiley smile , autant pour moi pour pas avoir lu le faq avant le post Smiley confused .
J'ai appliqué le code proposé mais apparement ça passe pas j'ai droit à de gentils erreurs à l'affichage de la page du genre:

a écrit :
Warning: ini_set() has been disabled for security reasons in catalogue.php on line 2


je précise que je suis online.
Smiley rolleyes
Modifié par lolohe (02 Aug 2006 - 06:27)
alors remplace directement tes & par des &amp; Smiley smile
si tu en as beaucoup, utilises l'outil de remplacement, ou alors bufferise ta page, et fais str_replace('&', '&amp;', $buffer) avec ob_start pour avoir plus d'infos Smiley smile

le fait d'utiliser le remplacement dans le buffer est que la page reste inchanger, et donc facilement modifiable par la suite (pas de probleme de revenir en arrière etc ...)
J'avais essaye ça:
<? session_start(); ?>
<?php str_replace("&", "&amp;", $text); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ......

Mais ça marche sur du texte mais pas sur url qui est généré, le &PHPSESSID=4cb0... est pas écrit au départ. Smiley langue
Modifié par lolohe (02 Aug 2006 - 06:25)
As-tu essayé quelque chose comme ça ? C'est ce qui t'es conseillé un peu plus haut en fait :


<?php
function ob_buf ($str) {
return str_replace('&', '&amp;', $str);
}
ob_start('ob_buf');
?>
......
<?php ob_end_flush(); ?>
Ah zut de zut, php rebufférise et retraite ça encore après alors ...
triple zut, ben je crois bien que ce n'est pas possible ...

C'est sûrement des pingouins qui ont configuré les sessions php sur ce serveur, je n'ai jamais vu ce genre d'ajout automatique d'id de session sauvage à la fin de tous les urls.
Ils ne peuvent pas utiliser des cookies comme tout le monde non ??
Administrateur
Bonjour,

Je te remercie par avance de bien vouloir éditer tes messages afin d'encadrer tes codes (HTML, PHP, CSS, JS peu importe) par des balises [ code] ... [ /code] (sans les espaces) comme demandé dans
l'Aide du Forum, cela en rendra la lecture bien plus aisée Smiley cligne

Felipe
Modifié par Felipe (31 Jul 2006 - 00:53)