Avatar billede zerrvox Nybegynder
09. maj 2005 - 22:03 Der er 5 kommentarer og
1 løsning

W3C XHTML validerings problem pga. php sessions.

Jeg er ved at lave for en bekendt, men hvor jeg vil prøve at bruge pear libs og smarty til alle de funktioner, jeg alligevel sidder og laver selv, og fordi denne side skal være prøveklud for det cms, jeg er ved at udvikle selv.

siden kan findes her: http://www.gnizza.dk/michael/

Men samtidig er det jo efterhånden blevet et mål også at kunne validere siden sider, så man ved man skriver en ordentlig html/css kode, og det er her problemet opstår, når jeg validerer, indsætter php et ekstra input (hidden) felt i min shoutbox form med session id'en.

I kan se det selv her: http://validator.w3.org/check?uri=http%3A%2F%2Fwww.gnizza.dk%2Fmichael%2F&charset=%28detect+automatically%29&doctype=%28detect+automatically%29&ss=1&noatt=1

Problemet er at dette input tag kommer frem et sted, hvor det ifølge specifikationerne ikke må stå. Jeg er godt klar over, at det er en fuldstændig lige gyldig ting i forhold til hjemmesiden brug, da det åbenbart kun kommer frem, når browseren ikke understøtter at sende session id'en videre på anden måde, det vil ikke ske i de normale browsers. Det er dog altid rart at kunne sætte et logo på side, der fortæller at siden at valid, især for portefølje sider som denne.

Jeg håber, der er nogen, som kender en løsning, eller en måde at omgå dette på. På forhånd tak for hjælpen.

Mvh.
Jesper
Avatar billede barklund Nybegynder
09. maj 2005 - 22:10 #1
Kan du ikke bare flytte din <form> og </form> inden for den <p>, der indeholder de øvrige <input>-tags.
Avatar billede zerrvox Nybegynder
09. maj 2005 - 22:16 #2
har jeg forsøgt, det kommer der bare endnu flere fejl af, så er gået lidt i stå. Det eneste, der har klaret det indtil nu, har været at lade være med at starte session, hvilket er en uhensigstmæssig løsning, da jeg skal bruge det senere hen.
Avatar billede barklund Nybegynder
09. maj 2005 - 22:36 #3
Du kan også sætte din server op til kun at kunne bruge sessions via cookies - og ikke via PHPSESSID i forms og links.

Det kan du gøre via de to php.ini settings session.use_trans_sid (sættes til 0) og session.use_only_cookies (sættes til 1):

ini_set("session.use_trans_sid", "0");
ini_set("session.use_only_cookies", "1");

Så vil php ikke tilføje den ekstra input - men så vil sessions heller ikke virke for folk, der har cookies slået fra.

--
Morten Barklund
Avatar billede dj-sejler Praktikant
09. maj 2005 - 22:54 #4
det har jeg også spurgt om for ikke så længe siden... jeg fik følgende ud af det (hvilket virker!)
denne skal sættes ind i starten... det er noget med at der er en bug i PHP 4,3,2 og 4,3,22
ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,fieldset=');


link til mit spørgsmål: http://www.eksperten.dk/spm/615473
Avatar billede olebole Juniormester
10. maj 2005 - 02:23 #5
<ole>

Men hvorfor overhovedet terrorisere brugernes browsere med en standard, WWW ikke er kompatibel med? XHTML kan endnu ikke bruges til noget fornuftigt på nettet - og mindst 90% af alle XHTML-sider - herunder din egen - parses som dårlig HTML4 ... ikke som XHTML.

Er meningen med at skrive XHTML, at du gerne vil skrive den bedst mulige kode, så gå tilbage til HTML4.01. Det fungerer langt bedre - og XHTML1.0 er alligevel ikke ægte XHTML, så den standard bliver ubrugelig, når XHTML endelig kan bruges på WWW. Til den tid hedder standarden XHTML2.0 - så XHTML1.0 er med andre ord ikke engang en fremtidssikring.

Læs evt:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538

/mvh
</bole>
Avatar billede zerrvox Nybegynder
10. maj 2005 - 16:40 #6
dj-sejler -> Det løste problemet, så takker og point til dig.

barklund -> Din løsnin ville sikkert også have afhjulpet problemet, så hvis du ønsker nogle point, så opretter jeg gerne nogle til dig.

olebole -> Der kan man bare se, som jeg er blevet vildledt, som du selv siger i dine artikler, af alle de klogeord, der står rundt omkring på nettet. Siden er skrevet i php, så jeg kunne nemt tilføje mime tag'et, men tror faktisk jeg vil følge dit råd, og lave siden om til HTML4.01, da dine argumenter har overbevist mig fuldstændigt. Takker for henvisningen og oplysningerne i dine to fine artikler.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester