Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1501 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PB de compatibilité avec W3C

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

PB de compatibilité avec W3C

n°618095
sharlaan
Posté le 21-01-2004 à 16:26:34  profilanswer
 

Salut,
j'essaie de faire un site qui soit validé par le W3C en XHTML.
mais j'ai quelques petit probleme qui me semblent assez grave, voila :

#  Note: The Validator XML support has some limitations.
# Line 2, column 1058: cannot generate system identifier for general entity "PHPSESSID"
# Line 2, column 1067: reference not terminated by REFC delimiter
# Line 2, column 1067: reference to external entity in attribute value
# Line 2, column 1162: reference not terminated by REFC delimiter
# Line 2, column 1162: reference to external entity in attribute value
# Line 2, column 1260: reference not terminated by REFC delimiter
# Line 2, column 1260: reference to external entity in attribute value
# Line 2, column 1372: reference not terminated by REFC delimiter
# Line 2, column 1372: reference to external entity in attribute value
# Line 2, column 1473: reference not terminated by REFC delimiter
# Line 2, column 1473: reference to external entity in attribute value
# Line 2, column 1582: reference not terminated by REFC delimiter
# Line 2, column 1582: reference to external entity in attribute value
# Line 2, column 1685: reference not terminated by REFC delimiter
# Line 2, column 1685: reference to external entity in attribute value
# Line 2, column 1784: reference not terminated by REFC delimiter
# Line 2, column 1784: reference to external entity in attribute value
# Line 2, column 1880: reference not terminated by REFC delimiter
# Line 2, column 1880: reference to external entity in attribute value
# Line 2, column 1986: reference not terminated by REFC delimiter
# Line 2, column 1986: reference to external entity in attribute value
# Line 2, column 2083: reference not terminated by REFC delimiter
# Line 2, column 2083: reference to external entity in attribute value


 
Je sais pas quoi faire, une idée ?


---------------
"Deux chose sont infinies, l'univers et la sotise humaine. Mais je ne suis pas sûr de ce j'affirme quant à l'univers." Albert Einstein
mood
Publicité
Posté le 21-01-2004 à 16:26:34  profilanswer
 

n°618264
gizmo
Posté le 21-01-2004 à 18:14:07  profilanswer
 

c'est jeopardy?

n°618273
belgique
Posté le 21-01-2004 à 18:29:50  profilanswer
 

:lol:
 
A part ça, tu peux choisir le séparateur dans la php.ini et mettre & si mes souvenirs sont bons.

n°618274
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-01-2004 à 18:31:15  profilanswer
 

tous les & des URL en &
et avant le session_start :

Code :
  1. ini_set("arg_separator.output", "&" );


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°618397
Aurelienaz​erty
Posté le 21-01-2004 à 21:13:30  profilanswer
 

Grilled, mais je confirme ce qui viens d'être dis, j'ai eut le même problème, et la solution est bien le init_set


---------------
http://lan.team-azerty.com, LAN fun en Rhône-Alpes
n°620907
Kahyman
Posté le 24-01-2004 à 18:33:36  profilanswer
 

plus simple : mettre des & (qui represente le caractere & en decimal) a la place des & lorsque tu generes tes urls, ca passe innapercu et pas besoin du ini_set vu que tu utilises un vrai caractere.
 
Ca fait toujours un appel en moins ;-)

n°620910
Kahyman
Posté le 24-01-2004 à 18:34:31  profilanswer
 

Kahyman a écrit :

plus simple : mettre des & (qui represente le caractere & en decimal) a la place des & lorsque tu generes tes urls, ca passe innapercu et pas besoin du ini_set vu que tu utilises un vrai caractere.
 
Ca fait toujours un appel en moins ;-)


 
Il fallait lire & a la place du & (la preuve que ca marche bien :-D erf)


Message édité par Kahyman le 24-01-2004 à 18:35:19
n°620957
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 20:11:22  profilanswer
 

je vois pas en quoi ça dispense du ini_set :??:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°620963
Kahyman
Posté le 24-01-2004 à 20:23:14  profilanswer
 

antp a écrit :

je vois pas en quoi ça dispense du ini_set :??:


 
C'est un charactere...
 
Par defaut le separateur est & (je parle de php), seulement validator considere l'ampersand & comme le debut d'une entite sgml (qui doit se finir par un ;), ce qui pose probleme lors de la validation. Remplacer & par & fait ceci : tu met bel et bien un &, mais sous une autre représentation. Validator lit alors & qu'il considere comme une entite valide si tu as declare le bon encodage de ta page (fait partie de iso-tralala et de la pluspart des encodages) alors que l'on n'utilise pas d'entite en realite. De son cote le parser php ne voit pas de difference, pour lui & et & c'est kifkif alors que & non...
 
(& est une entite html pas un caractere)
 
Je te laisse essayer, mais ca marche (si tu utilises et declares le bon char encoding) :)
 
J'avais essaye aussi avec %36 mais la si ca passe validator, c'est le parser php qui perd les pedales.
 
Etant donne que je suis peut-etre polio (meme si mon explication tient la route) En tout cas chez moi ca marche : & ne passe pas, je n'utilise pas init_set mais des & et tout va bien.


Message édité par Kahyman le 24-01-2004 à 20:27:00
n°620964
gizmo
Posté le 24-01-2004 à 20:24:24  profilanswer
 

chez moi & fonctionne sans problème, et php est prévu pour fonctionner avec. C'est ta config qui déconne.

mood
Publicité
Posté le 24-01-2004 à 20:24:24  profilanswer
 

n°620966
Kahyman
Posté le 24-01-2004 à 20:27:34  profilanswer
 

gizmo a écrit :

chez moi & fonctionne sans problème, et php est prévu pour fonctionner avec. C'est ta config qui déconne.


 
tu utilises init_set ?
 
quand je dis que & ne passe pas c'est SANS init_set, avec tout va bien...


Message édité par Kahyman le 24-01-2004 à 20:28:26
n°620968
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 20:30:37  profilanswer
 

:??: heu le & est tout autant un & que le & pour du HTML.
Le parseur PHP il s'en fout que ce soit l'un ou l'autre il me semble. Et le validateur tout ce qu'il veut c'est qu'après un & il y ait un code valide.


Message édité par antp le 24-01-2004 à 20:30:45

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°620969
Kahyman
Posté le 24-01-2004 à 20:32:24  profilanswer
 

Sinon allez voir le anuel php sous init_set...
 
Puis editez la page et cherchez separator vous allez tomber sur... & et pas & Vous pouvez faire un init_set sur & mais autant utiliser &
 
;)


Message édité par Kahyman le 24-01-2004 à 20:41:15
n°620974
Kahyman
Posté le 24-01-2004 à 20:36:14  profilanswer
 

antp a écrit :

:??: heu le & est tout autant un & que le & pour du HTML.
Le parseur PHP il s'en fout que ce soit l'un ou l'autre il me semble. Et le validateur tout ce qu'il veut c'est qu'après un & il y ait un code valide.


 
Non le parser php ne s'ent fout pas : une uri n'est PAS du html.
 
Il ne decode donc pas l'uri comme du html. Ainsi, &, a moins que tu ne fasses un init_set, pour le parser c'est un & suivi d'une chaine de caracter donc c'st considere comme une nouvelle variable.  
 
& et & c'est le meme caractere par contre, pas du html, c'est l'utilisation du code de & au lieu de & lui meme.
 
C'est pareil pour les espaces dans une url essaye de mettre un   ca ne marchera pas, par contre mettre %20 est ok : tu inclus le code de l'espace.
 
La question n'est pas de savoir si & est valide : ca l'est, validator lit & comme une entite, le parser php, lui, lit & le caractere. Selon moi la question est "pourquoi se compliquer la vie avec & alors qu'on n'en a pas besoin)
 
:hello:


Message édité par Kahyman le 24-01-2004 à 20:43:23
n°620980
Gilbert Go​sseyn
Dr Liara T'Soni
Posté le 24-01-2004 à 20:42:31  profilanswer
 

gizmo a écrit :

chez moi & fonctionne sans problème, et php est prévu pour fonctionner avec. C'est ta config qui déconne.

Je pense la même chose (& marche chez moi aussi).


---------------
Tant que la couleur de la peau sera plus importante que celle des yeux, nous ne connaitrons pas la paix. ● L'écriture, c'est la mémoire du futur. ● Mods FO4
n°620981
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 20:42:32  profilanswer
 

Kahyman a écrit :


 
C'est pareil pour les espaces dans une url essaxe de mettre un   ca ne marchera pas, par contre mettre %20 est ok : tu inclus le code de l'espace.


 
  n'est pas une espace "classique", son code n'est pas . Il s'agit d'un espace insécable
 

Kahyman a écrit :


La question n'est pas de savoir si & est valide : ca l'est, validator lit & comme une entite, le parser php, lui, lit & le caractere. Selon moi la question est "pourquoi se compliquer la vie avec & alors qu'on n'en a pas besoin)


 
moi je ne pige toujours pas ce que & pose comme problème ; ça marche nickel dans mes pages


Message édité par antp le 24-01-2004 à 20:43:22

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°620983
Kahyman
Posté le 24-01-2004 à 20:44:26  profilanswer
 

antp a écrit :


moi je ne pige toujours pas ce que & pose comme problème ; ça marche nickel dans mes pages


 
ca ne POSE PAS DE PROBLEME si tu fais un init_set (mais vous me lisez ou non ?), vous vous compliquez juste la vie.

n°620988
Kahyman
Posté le 24-01-2004 à 20:47:40  profilanswer
 

Vous modifiez le separator char au lieu d'utiliser celui par defaut. Libre a vous de le faire, perso je trouve que c'est se compliquer la vie.
 
Faites comme vous voulez.

n°621017
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 21:30:25  profilanswer
 

Et comment tu fais sans modifier le séparateur par défaut ? j'ai toujours rien compris [:mlc]
Vu que PHP ajoute lui-même le &PHPSESSID il faut bien lui dire de quoi est composé ce "&", non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621027
Kahyman
Posté le 24-01-2004 à 21:47:24  profilanswer
 

antp a écrit :

Et comment tu fais sans modifier le séparateur par défaut ? j'ai toujours rien compris [:mlc]
Vu que PHP ajoute lui-même le &PHPSESSID il faut bien lui dire de quoi est composé ce "&", non ?


 
Mais C'EST le separateur par defaut ! & et & c'est pareil, je ne sais pas comment t'expliquer ca autrement moi. c'est EXACTEMENT le meme caractere &.  
 
Si tu ecris & (1 seul caractere pas un & suivi d'un # suivi d'un 3 d'un 8 puis d'un ;, mais bien le caractere & lui meme en personne) le parser php lit & qui EST le separateur par defaut donc pas besoin de set_init. Toi ce que tu fais avec le set init c'est que tu lui dis de changer le separateur par defaut en & (5 caracteres &, a, m, p, et ;).  
 
Validator lit tout caractere apres caractere donc il lit lors de la validation &,#,3,8,; ce qu'il voit comme une entite qu'il connait. C'est pour ca que ca marche.
 
Avec & pareil, validator lit &,a,m,p,; c'est ok. Par contre php il faut lui dire "ca c'est le separateur", ce que tu fais avec set_init, si tu ne le fais pas il ne comprend pas.
 
Je change la representation du pattern de separation sans toucher a ce pattern, toi tu changes le pattern de separation.
 
Argh t'as compris ou je dois essayer autrement ?
 
 :cry:  

n°621030
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 21:54:07  profilanswer
 

non j'ai pas compris
 
donc j'ai un lien <a href="index.php?param=a">
sans utiliser ini_set, comment faire pour que PHP ajoute &#38;PHPSESSID plutôt que &PHPSESSID ?
&#38; c'est traité au niveau HTML.
 
Tu dis  

Citation :


Si tu ecris &#38; (1 seul caractere pas un & suivi d'un # suivi d'un 3 d'un 8 puis d'un ;, mais bien le caractere & lui meme en personne) le parser php lit &


Comment t'écris & différement que & ? &#38; c'est pas un seul caractère pour PHP


Message édité par antp le 24-01-2004 à 21:54:18

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621033
Kahyman
Posté le 24-01-2004 à 21:57:43  profilanswer
 


 
hors sujet mais vu que je viens de le voir je t'en fais part : tes css sur ton site ne sont pas valides contrairement a ce que tu dis (logo w3c) :-)

n°621036
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:00:11  profilanswer
 
n°621040
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:07:26  profilanswer
 

au sujet des "&", pour être sûr qu'on parle bien de la même chose, on parle bien des "&PHPSESSID" ajoutés par PHP dans le cas où il balance un simple caractère "&", sachant aussi que ce "bug" a peut-être été corrigé dans les versions récentes et que ça peut se modifier dans php.ini plutôt que via ini_set ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621041
Kahyman
Posté le 24-01-2004 à 22:09:33  profilanswer
 

Citation :

[nom]antp a écrit[/nom]non j'ai pas compris


 
ZUT  :lol:  
 

Citation :

donc j'ai un lien <a href="index.php?param=a">
sans utiliser ini_set, comment faire pour que PHP ajoute &#38;PHPSESSID plutôt que &PHPSESSID ?
&#38; c'est traité au niveau HTML.


 
Non ! ce n'est pas traite au niveau html, au niveau de l'uri c'est compris correctement (c.f. plus loin).
 
Maintenant si tu veux faire de l'inclusion automatique en recuperant le separateur par defaut, ok, si ton serveur est configure par defaut pour inclure des & c'est ko tu dois faire un set_init, mais ca n'a rien a voir avec l'interpretation, c'est au niveau de la generation du code que tu as ton probleme.
 
Si tu parles de generation d'uri alors que je parle d'interpretation d'uri on ne s'en sortira pas... :)
 
 

Citation :

Tu dis  

Citation :


Si tu ecris &#38; (1 seul caractere pas un & suivi d'un # suivi d'un 3 d'un 8 puis d'un ;, mais bien le caractere & lui meme en personne) le parser php lit &


Comment t'écris & différement que & ? &#38; c'est pas un seul caractère pour PHP


tu l'ecris &#38; pour le parser lors de la lecture de l'uri c'est pareil que & (essaye je te dis).
 
Un exemple : une de mes uri est generee comme suit par mon code php : /index.php?cat=research&#38;sub=papers&#38;#38;id=sac03 si je clique sur le lien l'uri est bien interpretee comme /index.php?cat=research&sub=papers&id=sac03 sans que je n'aie eu a faire de set_init.
 
Je comprends ce que tu dis, comprends tu ce que je dis a present ? :D


Message édité par Kahyman le 24-01-2004 à 22:12:52
n°621042
Kahyman
Posté le 24-01-2004 à 22:11:22  profilanswer
 
n°621043
drasche
Posté le 24-01-2004 à 22:11:40  profilanswer
 

Kahyman> et comment tu fais quand PHP t'ajoute automatiquement l'ID de session dans l'URL pour que ta page reste valide? :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°621046
drasche
Posté le 24-01-2004 à 22:14:10  profilanswer
 


c'est n'importe quoi cette validation


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°621047
Kahyman
Posté le 24-01-2004 à 22:14:20  profilanswer
 

drasche a écrit :

Kahyman> et comment tu fais quand PHP t'ajoute automatiquement l'ID de session dans l'URL pour que ta page reste valide? :o


 
Je crois avoir repondu a cette question

n°621050
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:15:35  profilanswer
 


 
heu c'est n'importe quoi, il met une erreur sur chaque ligne
Quand on lui donne directement la page CSS ça passe sans erreurs


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621052
Kahyman
Posté le 24-01-2004 à 22:18:17  profilanswer
 

antp a écrit :


 
heu c'est n'importe quoi, il met une erreur sur chaque ligne
Quand on lui donne directement la page CSS ça passe sans erreurs


 
Effectivement

n°621053
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:18:39  profilanswer
 

Kahyman a écrit :

si ton serveur est configure par defaut pour inclure des & c'est ko tu dois faire un set_init, mais ca n'a rien a voir avec l'interpretation, c'est au niveau de la generation du code que tu as ton probleme.


 
ouais enfin le problème à la base c'est justement que le serveur balance des & ...
 

Kahyman a écrit :

 
Un exemple : une de mes uri est generee comme suit par mon code php : /index.php?cat=research&#38;sub=papers&#38;#38;id=sac03 si je clique sur le lien l'uri est bien interpretee comme /index.php?cat=research&sub=papers&id=sac03 sans que je n'aie eu a faire de set_init.
 
Je comprends ce que tu dis, comprends tu ce que je dis a present ? :D


 
c'est que ton serveur est bien configuré... ce qui est rarement le cas, d'où des topics comme celui-ci
 
Encore heureux que l'URI soit bien interprêtée, vu qu'il s'agit d'une URI normale. On peut y mettre des &amp; ça passera pareil.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621055
drasche
Posté le 24-01-2004 à 22:19:17  profilanswer
 

Kahyman a écrit :

Je crois avoir repondu a cette question


j'ai lu tous tes posts et je n'en trouve aucun qui donne la réponse.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°621062
Kahyman
Posté le 24-01-2004 à 22:27:18  profilanswer
 

drasche a écrit :


j'ai lu tous tes posts et je n'en trouve aucun qui donne la réponse.


Citation :

Maintenant si tu veux faire de l'inclusion automatique en recuperant le separateur par defaut, ok, si ton serveur est configure par defaut pour inclure des & c'est ko tu dois faire un set_init, mais ca n'a rien a voir avec l'interpretation, c'est au niveau de la generation du code que tu as ton probleme.


 
Donc oui (comme l'indique la doc) vous avez raison pour la generation et l'utilisation des sessions. Mais oui (bien que peut-etre (surement) off-topic) mon &#38;#38; est bien interprete
 
oh et puis zut je vais me coucher !
 
 :whistle:  
 
 :hello:

n°621066
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:30:13  profilanswer
 

ton &#38; est bien interprêté, oui, mais le problème est que dans sa config par défaut PHP balance souvent un & et non un &#38; [:mlc]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°621067
Kahyman
Posté le 24-01-2004 à 22:30:14  profilanswer
 

antp a écrit :


Encore heureux que l'URI soit bien interprêtée, vu qu'il s'agit d'une URI normale. On peut y mettre des &amp; ça passera pareil.


 
Non, le input separator n'est pas &amp; mais & donc ca ne passe pas. (j'ai essaye)
 

n°621070
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-01-2004 à 22:40:29  profilanswer
 
n°621072
drasche
Posté le 24-01-2004 à 22:48:24  profilanswer
 


ah toi aussi? :D
 
Kahyman> franchement t'as pas l'impression d'être seul dans ton trip? :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°621091
gizmo
Posté le 25-01-2004 à 00:06:08  profilanswer
 

Kahyman a écrit :


 
Non, le input separator n'est pas &amp; mais & donc ca ne passe pas. (j'ai essaye)
 
 


Bon, faut qu'on t'explique comment fonctionne le protocole HTML (j'ai pas dit php) ou t'arrète de dire des conneries...

n°838923
yo c spi
Yo !
Posté le 01-09-2004 à 17:17:12  profilanswer
 

Je suis aussi confronté au problème des "&" du PHPSESSID.
Le problème est que je suis sur un compte chez Free et que le ini_set ne semble pas fonctionner (Pas de message d'erreur en plus). Est-ce qu'il y a un autre moyen (autre que de changer d'hébergeur) ou est-ce que le fait d'avoir un compte chez Free m'empeche d'avoir des pages valides?


Message édité par yo c spi le 01-09-2004 à 17:26:40

---------------
J.C. Farinet
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PB de compatibilité avec W3C

 

Sujets relatifs
W3C et incohérenceW3C et formulaire
[Html - CSS] petit prob de compatibilité...[compatibilité Mozilla] Onclick et submit()
(help) Pb de compatibilité pour macros[HTML] Les frames et le W3C
[résolu]Problème de compatibilité IE sur un bout de code[CSS] outil de validation du W3C
[ compatibilité IE/Firebird ] j'en ai marre[W3C] Un peu d'aide pour ma certif ?
Plus de sujets relatifs à : PB de compatibilité avec W3C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR