Avatar billede googolplex Novice
21. oktober 2004 - 22:52 Der er 13 kommentarer og
1 løsning

Validering fejler

Jeg kan ikke helt forstår hvor dette ikke valideres korrekt:

http://validator.w3.org/check?uri=http%3A%2F%2Fgoogolplex.dk%2Ffooditems.php
Avatar billede olebole Juniormester
21. oktober 2004 - 22:54 #1
<ole>

En form kan ikke have en value  :)

/mvh
</bole>
Avatar billede olebole Juniormester
21. oktober 2004 - 22:56 #2
Oooops ... så forkert  :)
Mon ikke, det er fordi, du har anbragt dit input udenfor dit fieldset? Prøv at rykke den 'ind i varmen':

<form action="" method="post">
<fieldset>
<input type="hidden" name="sid" value="34fd463dea4350f936b68f78631a0cf2" />
<input type="hidden" name="token" value="d5aa7cca56697e68a0f54a41e6ea9daa" />
Avatar billede skovenborg Nybegynder
22. oktober 2004 - 00:19 #3
eller sæt et p-tag eller div-tag udenom (din form vel sagtens).
Avatar billede Slettet bruger
22. oktober 2004 - 00:39 #4
Jeg synes egentlig, at det er en af de bedre beskrivelser af mulige fejlårsager i validatoren.

Line 84, column 104: document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag

...="8511e397a204e621bc79fcfad1b6139d" />

The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

Som der står: Du må ikke have <input ...> på dette sted. De listede elementer er dem, der har lov til at være her, og som kan indeholde en <input>.

Løsningen er, som olebole skrev, at flytte den første skjulte input.
Avatar billede googolplex Novice
22. oktober 2004 - 00:45 #5
Argh, det er den klasssiske PHP sessions-fejl, den kan ikke løses da det er umuligt at flytte den første 'hidden' :(

Smid et par svar :)
Avatar billede Slettet bruger
22. oktober 2004 - 00:59 #6
Jo, den kan godt løses.

Prøv at sætte session.use_trans_sid til 0 før du starter din session. Så kan du selv lave den skjulte input.

ini_set("session.use_trans_sid",0);
session_start()
if(!empty(SID)){
  $sessioninput='<input type="hidden" name="sid" value="' . SID . " />';
}

Så udskriver du bare $sessioninput på det rette sted i din form.

NB! Jeg har ikke afprøvet, men det burde virke.
Avatar billede Slettet bruger
22. oktober 2004 - 01:02 #7
Forresten bør den rettes til:

$sessioninput='<input type="hidden" name="sid" value="' . striptags(SID) . " />';
Avatar billede googolplex Novice
22. oktober 2004 - 01:35 #8
Perfekt!!!

Men den ville ikke godtage if(!empty(SID)) {}, så jeg gjorde således:

ob_start();
session_start();
$session_id = session_id();
if (isset($session_id))
{
    $sessioninput = '<input type="hidden" name="sid" value="' . $session_id . '" />';
}
Avatar billede Slettet bruger
22. oktober 2004 - 08:49 #9
Man kan forresten bruge

ini_set("url_rewriter.tags","");

også til at definere, hvad PHP selv skal smække et sessionid på.
Avatar billede googolplex Novice
22. oktober 2004 - 09:00 #10
Nå ja:

url_rewriter.tags  string

    url_rewriter.tags specifies which HTML tags are rewritten to include session id if transparent sid support is enabled. Defaults to a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=

        Note: If you want XHTML conformity, remove the form entry and use the <fieldset> tags around your form fields.

Skal jeg så bare ændre til:

a=href,area=href,frame=src,input=src,form=,fieldset=fakeentry

?
Avatar billede Slettet bruger
22. oktober 2004 - 09:04 #11
Nej, men måske:

a=href,area=href,frame=src,input=src,fieldset=fakeentry

Ellers kunne du bare kræve at folk tillader cookies og så sætte den til en tom streng.
Avatar billede googolplex Novice
22. oktober 2004 - 12:40 #12
olebole: Hvis du ligger et svar, så får I begge point.

Tak for svarene :)
Avatar billede olebole Juniormester
22. oktober 2004 - 21:35 #13
Nej, giv du dem bare til sandbox  ;o)
Jeg fik ikke nogen mails om spm'et før nu, så jeg fik ikke deltaget med så meget brugbart. Det må være sandbox'  :)
/mvh
Avatar billede olebole Juniormester
22. oktober 2004 - 21:36 #14
... men tak, for tanken  ;o)
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