W3C validator + PHPSESSID ? Mission impossible ? - HTML/CSS - Programmation
Marsh Posté le 21-02-2003 à 02:14:14
Ya rien à détailler (hélas).
Quand il tombe sur http://www.monsite.com/index.php?l [...] 90bee34569
Il est pas content. Et je peux pas remplacer & par & vu que c'est pas moi qui décide (mais php)...
J'ai pas accès à la config de php (hébergement pro). Donc je vois mal ce que je peux faire. Une idée quand même ?
Marsh Posté le 21-02-2003 à 08:14:25
essaye en rajoutant toi-meme le phpsessid au lieu de laisser faire le module php, normalement ca devrait passer.
Marsh Posté le 21-02-2003 à 09:20:03
Y avait pas une option dans PHP pour lui dire de faire des & ?
Marsh Posté le 21-02-2003 à 09:24:55
gizmo a écrit : essaye en rajoutant toi-meme le phpsessid au lieu de laisser faire le module php, normalement ca devrait passer. |
Concrêtement, tu fais ça comment ??
Marsh Posté le 21-02-2003 à 09:26:03
antp a écrit : Y avait pas une option dans PHP pour lui dire de faire des & ? |
Il y a une option pour lui dire de rendre ça invisible, mais c'est au niveau de la config de php et je suis dans mon cas, sur un serveur pro que je ne peux pas toucher.
Marsh Posté le 21-02-2003 à 09:30:13
tu as le enable_trans_sid d'activé ? je crois que c'est dtc...
Marsh Posté le 21-02-2003 à 09:33:15
Oui, j'ai session.use_trans_sid à 1.
J'attend quand même la soluce de Gizmo, mais je ne me fais pas non plus d'illusion.
Marsh Posté le 21-02-2003 à 09:50:35
en faisant comme ça:
<? echo 'mapge.php?blalba=blabla&'.SID ?> |
Il n'y a volontairement pas de $.
Si ca ne marche pas comme ça (version de php trop ancienne) tu peux essayer avec la fonction session_id()
Marsh Posté le 21-02-2003 à 10:22:12
avec le trans_sid il me semble qu'il ajoute quand même le PHPSESSID en bout d'url non ?
remarque moi je l'encode donc peut être qu'il la trouvait pas...
Marsh Posté le 21-02-2003 à 10:31:59
En modifiant le session_id, ça marche pas.
Il continue à mettre &PHPSESSID devant. Le problème, c'est toujours le &...
Pour l'autre soluce, je ne comprends pas très bien ce que tu veux dire Gizmo. A chaque nouvelle URL, il faut que je rajoute &.SID ??
Marsh Posté le 21-02-2003 à 10:34:53
C'est quoi l'intérêt de faire comme ça si c'est pour foutre un & au lieu d'un &
Marsh Posté le 21-02-2003 à 10:41:39
De toutes manières, j'ai essayé avec & am p ; et &, et dans les deux cas, il me fout &SESSID derrière
Faudrait peut-être que les concepteurs de PHP se bougent un peu pour tenir compte des recommandations, parce que si j'ai bien compris, il n'y a pas de soluces...
Marsh Posté le 21-02-2003 à 10:50:22
le problème vient surtout que trans_sid ne sert à rien sinon à faciliter le dèv des newbs utilsant les sessions..
si tu le coupes, il remarquent vite qu'ils oublient de récupérer le session_id pour le transmettre...
Marsh Posté le 21-02-2003 à 10:56:38
C'était bien la peine que je me fasse chier à faire du XHTML 1.1 compliant.
J'ai également un accès telnet sur le serveur. Ya rien à faire de ce côté là ?
Marsh Posté le 21-02-2003 à 11:02:39
regarde si tu peux désactiver le trans_sid directement depuis ton script
ini_set() je crois
Marsh Posté le 21-02-2003 à 11:16:18
Oh putainnnnnnnnnn !!! J'ai trouvééééééééé de
Regardez la ruse de fou que je viens de trouver
$name=session_name("amp;session" );
Sachant que ce gros porc de php mettra & de toutes manières, je mets amp; sans le & au début du nom de
Marsh Posté le 21-02-2003 à 11:18:16
ReplyMarsh Posté le 21-02-2003 à 11:37:35
Fausse joie
Il subsiste une erreur liée au fait qu'à chaque formulaire, il me rajoute :
<input type="hidden" name="amp;idsession" value="385cda9595f156d637314adf6d7bb290" />
erreur :
document type does not allow element "input" here; missing one of "ins", "del", "h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "address", "fieldset" start-tag
Marsh Posté le 21-02-2003 à 11:55:02
dans le formulaire, il faut faire un <div>:
<form>
<div>
<input type = />
<input type = />
</div>
</form>
Marsh Posté le 21-02-2003 à 12:01:09
Très bien. Mais c'est PHP qui me rajoute l'input type="hidden" juste après le form. J'ai beau mettre un div juste après le form, il continue de mettre son putain d'input juste après le form.
Marsh Posté le 21-02-2003 à 12:30:53
Sh@rdar a écrit : le problème vient surtout que trans_sid ne sert à rien sinon à faciliter le dèv des newbs utilsant les sessions.. |
c quand meme bien sympa de pas devoir s'occuper de le transmettre, d'autant que ça me lourde d'avoir ça dans mon url moi, alors, le trans_sid s'occupe de le foutre dans cookie s'il peut nan?
Marsh Posté le 21-02-2003 à 12:31:25
spa possible. Et de plus, c'est presque partout la même chose (à moins d'être son propre hébergeur).
Marsh Posté le 21-02-2003 à 12:33:25
HotShot a écrit : Suffit de contacter l'hébergeur et ils te "corrigent" ton problème au cas par cas non ? S'ils te demandent pkoi, tu dis que c pour "les clients" qui veulent que ce soit XHTML 1.1 Compliant, "allez comprendre pkoi" |
sur du mutualisé j'ai un doute
Marsh Posté le 21-02-2003 à 12:36:03
mouhai... ça m'étonnerait qu'ils acceptent. Je peux toujours essayer remarque .
Mais ça me fais grave chier cette histoire quand même. Parce que tout le site passe sans problème la validation. Et uniquement à cause de cette merde, ça passe plus. C'est aussi la faute des concepteurs de PHP. C'est quand même dingue. Spa compliqué de mettre un & am p; et d'attendre la prochaine balise pour ouvrir le input...
Marsh Posté le 21-02-2003 à 12:38:36
J'aurais bien aimé trouver une solution tout seul. L'email pour demander ce genre de truc c'est le dernier recours. Surtout qu'il y a très peu de chance pour que ce soit pris en compte...
Marsh Posté le 21-02-2003 à 12:49:26
HotShot a écrit : |
oui, c sur, mais je veux dire que les mecs vont pas changer leur php.ini pour un client alors qu'il y en a 100 qui utilisent le meme serveur. (je crois pas qu'il y a une instance d'apache et de php par client sur chaque machine mutualisée )
Marsh Posté le 21-02-2003 à 13:00:12
Hermes le Messager a écrit : Pour l'autre soluce, je ne comprends pas très bien ce que tu veux dire Gizmo. A chaque nouvelle URL, il faut que je rajoute &.SID ?? |
non, c'est moi qui ai rippé quelques caractères.
la vairable globale SID contient 'PHPSESSID=nom_de_la_session' dont si tu le rajoute toi-même, en mettant & amp; (sans l'espace) devant (pas & comme dans mon premier exemple), le serveur ne devrait pas rajouter sa version, même si le trans_sid est activé.
EDIT: finalement ce n'est pas moi qui aie merdé, c'est ce forum
Marsh Posté le 21-02-2003 à 13:18:28
Bah utilises les cookies.
Sinon si tu dois contacter ton hébergeur, c'est la variable arg_separator.output qu'il faut modifier.
A tout hasard, tu as essayé un :
ini_set('arg_separator.output', '& amp;';
(sans l'espace bien sûr)
Marsh Posté le 21-02-2003 à 13:34:10
gizmo a écrit : EDIT: finalement ce n'est pas moi qui aie merdé, c'est ce forum |
nouvelle feature : pour afficher & il faut écrire &amp;
Marsh Posté le 21-02-2003 à 13:52:12
ReplyMarsh Posté le 21-02-2003 à 13:56:19
gm_superstar a écrit : Bah utilises les cookies. |
le ini_set fonctionne parfaitement.
Merci bien.
Mais le second problème lui est toujours là. Ce con de php me met un input type="hidden" juste derrière tous mes form. Et là, je crois bien que je suis niké.
Marsh Posté le 21-02-2003 à 14:01:47
Après le <form> ? Qu'est qui rajoute ça ? La valeur du <input> est reconnue après avoir posté ?
Marsh Posté le 21-02-2003 à 14:03:31
attend mais dans ton form il est supposé te rajouter
<input type="hidden" name="idsession" value="385cda9595f156d637314adf6d7bb290" />
je vois pas ou est le pb
Marsh Posté le 21-02-2003 à 14:04:21
gm_superstar a écrit : Après le <form> ? Qu'est qui rajoute ça ? La valeur du <input> est reconnue après avoir posté ? |
C'est PHP qui rajoute ça. JUSTE APRES chaque form, il me met un input type="hidden" name="nom de la session" value="valeur de la session". C'est comme ça. Et pas moyen de lui dire d'attendre au moins l'apparition d'une balise pour faite ça.
Marsh Posté le 21-02-2003 à 14:05:08
the real moins moins a écrit : |
un input doit être à l'intérieur d'un div, p, ou autre machin du genre, pas juste après le form.
Enfin il suffirait pas de mettre le form dans un div ?
Marsh Posté le 21-02-2003 à 14:05:21
the real moins moins a écrit : attend mais dans ton form il est supposé te rajouter |
Le problème, c'est qu'il me le rajoute JUSTE APRES le form et que le validateur VEUT qu'au moins une balise sépare les form d'un INPUT. Le voilà le problème
Marsh Posté le 21-02-2003 à 14:08:00
antp a écrit : |
Déjà essayé. Marche pas
Marsh Posté le 21-02-2003 à 00:51:56
Tout est dans le titre. Le validator apprécie pas le phpsessid renvoyé par php. Une solution ? (j'y crois pas trop). sniff...