Avatar billede dj-sejler Praktikant
06. maj 2005 - 00:42 Der er 21 kommentarer og
1 løsning

XHTML godkendelse og <form>

Er der nogen måde hvor man kan undgå dette: http://validator.w3.org/check?uri=http://net-lunden.dtl-design.dk/

koden omkring problemet:


    <div class="nav_boks">
      <div class="navigation">
     
    <?php // <span class="nav_line_grey">Du skal logge ind!</span> ?>
    <div>
    <form method="post" action="<?php echo $domaine.'/?side=login'?>">
      <p class="menu">
        Brugernavn:<br /><input class="menu" type="text" size="15" name="mynetname" value="<?php echo $_POST['mynetname']; ?>" /><br />
        Adgangskode:<br /><input class="menu" type="password" size="15" name="mynetword" value="<?php echo $_POST['mynetword']; ?>" /><br />
        <input class="menu" type="submit" name="login" value="Log ind" />
      </p>
    </form></div>
</div>
</div>

Problemet opstår efter <form ....> men jeg kan ikke forstå hvorfor...
nogen der kan hjælpe?
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 01:01 #1
Der bliver lavet en <input type="hidden"...> lige efter <form...>. Dette er et eksempel på denne:

<input type="hidden" name="sid" value="d3adbe2fe1909f383685e3f471cfd77c" />

Du kan evt. prøve at rykke <p class="menu"> op over <form...>, så det kommer til at se sådan ud:

<p class="menu">
<form method="post" action="<?php echo $domaine.'/?side=login'?>">
...
Avatar billede dj-sejler Praktikant
06. maj 2005 - 01:08 #2
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 01:25 #3
Det er ret mystisk, synes jeg. Det hidden-element, som dukker op, har du jo ikke vist i dit kodeudsnit. Det er som om, det dukker op ud af det blå...
Avatar billede dj-sejler Praktikant
06. maj 2005 - 01:26 #4
ja... det gør det sådan set også...
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 01:31 #5
Hvad sker der, hvis du erstatter denne linie:

<form method="post" action="<?php echo $domaine.'/?side=login'?>">

med denne:

<?php echo "<form method=\"post\" action=\"$domaine/?side=login\"><p class=\"menu\">" ?>
Avatar billede dj-sejler Praktikant
06. maj 2005 - 01:36 #6
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 01:43 #7
Du må undskylde, jeg siger det. Men jeg tror, du bruger en ret egenrådig udgave af php. Hvis du beder om at få vist kilden til det, som validatoren validerer, kan du se, at din php-engine tilsyneladende har fjernet <p...> start-tagget og smidt en <input type="hidden"...> ind i stedet.
Avatar billede dj-sejler Praktikant
06. maj 2005 - 01:52 #8
hmm...
jeg ikk forstå!

jeg har: PHP Version 4.3.11 hos surftown:
men det skal måske lige siges at jeg start med bl.a.:
  ini_set('session.name', "sid");
  ini_set('arg_separator.output', '&amp;');

http://ws1.surf-town.net/phpinfo.php

siger det dig noget?
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 01:57 #9
Hmm...jeg forstår, hvad de to variable, du sætter med ini_set gør, men jeg ved ikke, hvordan du får php til at smække <input type="hidden"...> efter <p class=...> :/
Avatar billede dj-sejler Praktikant
06. maj 2005 - 02:09 #10
det mest underlige er at der er kun en fejl her:
http://validator.w3.org/check?uri=http://net-lunden.dtl-design.dk/?side=tag&mode=add

hvor der er to <form>'s

og jeg har iøvrigt snart ikke mere hår :(
Avatar billede dj-sejler Praktikant
06. maj 2005 - 02:13 #11
ups... der var flere fejl ;)
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:16 #12
Hmm...jeg får nu godt nok 4 fejl, når jeg prøver at validere http://net-lunden.dtl-design.dk/?side=tag&mode=add

To af dem er pga. <input type="hidden"...> elementer.

Jeg kan godt forstå, du er ved at løbe tør for hår...
Avatar billede dj-sejler Praktikant
06. maj 2005 - 02:22 #13
ja de to andre var bare en / der manglede...
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:31 #14
Noget tyder på, at det er en bug i PHP 4.3.x

Jeg har prøvet at google lidt efter det, fordi jeg tænkte, du ikke kunne være den eneste, som står med det problem ;)

Jeg fandt dette link:

http://aspn.activestate.com/ASPN/Mail/Message/php-Dev/1656025

Der står, at det er et problem i PHP 4.3.2, og det er tilsyneladende også et problem i PHP 4.3.11 (det er i hvert fald mit bud). Så hvordan du løser det, ved jeg desværre ikke. Men det kan være, der er andre herinde, som har et work-around. Det håber jeg da, fordi det er da godt nok ærgeligt, hvis det forhindrer dig i at kunne validere dit site.
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:38 #15
Ah...efter lidt mere googling, tror jeg måske, jeg har en løsning.

Prøv at indsætte denne linie oppe i starten ved de andre ini_set() kald:

ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,fieldset=');
Avatar billede coderdk Praktikant
06. maj 2005 - 02:39 #16
ini_set('session.use_trans_sid', 0);

måske?
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:46 #17
Jeg tror ikke, det hjælper at sætte session.use_trans_sid, men jeg er slet ikke sikker. Så jeg vil mene, det bestemt er et forsøg værd ;D
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:48 #18
Jeg glemte forøvrigt lige at smide et link til det, jeg fandt i min post fra 06/05-2005 02:38:25. Linket er dette:

http://lists.evolt.org/archive/Week-of-Mon-20040419/158198.html
Avatar billede dj-sejler Praktikant
06. maj 2005 - 02:49 #19
juhuu... nu skal jeg have en hårtransplantation... :D
->> rasmusbg
det virker! men hvad er det den gør?
så du må hellere smide et svar... og MANGE tak for hjælpen!!!

->> coderdk
det virker ikke
Avatar billede rasmusbg Nybegynder
06. maj 2005 - 02:58 #20
Det, der var galt, var, at validatoren ikke kan modtage cookies, og da den ikke kunne det, bliver de tags, som er specificeret i url_rewriter.tags, automatisk rewrited, så sid'et bliver tilføjet. Da form=fakeentry er med som default, betyder det, at der i forms automatisk bliver tilføjet et <input type="hidden"...> element med sid'et.

Egentlig burde coderdk's løsning også have virket, da elementer, så vidt jeg kan se, kun bliver rewrited, hvis session.use_trans_sid er enabled.
Avatar billede dj-sejler Praktikant
06. maj 2005 - 03:04 #21
prøver lige igen... har også lige fået session-probs
Avatar billede dj-sejler Praktikant
06. maj 2005 - 03:40 #22
Jeg bliver nok nød til at vente med det nye hår lidt endnu...

de første 6 linie skulle få IE til at fatte at den ikke skal gemme noget men med de andre ændringer syntes jeg jeg har fået problem med at slette mine sessions...

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("cache-control: private");
header("Pragma: no-cache");


ini_set('session.name', "sid");
ini_set('url_rewriter.tags', 'a=href,area=href,frame=src,input=src,fieldset=');

  // set the cache expire to 30 minutes
ini_set('arg_separator.output', '&amp;');
// ini_set('session.use_trans_sid', false);
  ini_set('session.use_trans_sid', 0);

session_cache_limiter('private');
session_cache_expire(30);
session_start();

nej vent...
de indstillinger her over virker med hensyn til sessions og få dem slettet...
men IE gemmer hele l....t nogen ide?
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