Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sesje vs validator xhtml
slash^
post 5.03.2004, 21:18:33
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

Ostrzeżenie: (0%)
-----


Nie wiedzialem, czy temat zalozyc na forum php, czy XHTML, ale ostatecznie dalem go tu smile.gif

Otoz mam cos takiego, robie na stronie session_start(), wszystko ladnie, pieknie dziala dopuki nie przepuszcze strony przez http://validator.w3.org, wyskakuje mi wtedy takie cos:

Kod
   1.  Line 54, column 133: 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



  ...="5aa71d8d0e78b161e7762b65af3b80b6" />

                                          ^


Linia ta, to tworzona w formularzu opcja <input hidden> z ID sesji do php, nie wiem czemu, ale validator uznaje to jako blad....

wie ktos moze jak to naprawic?
Go to the top of the page
+Quote Post
czachor
post 5.03.2004, 21:30:52
Post #2





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


tu pisze, że zapomniałeś o czymś :wink: na pewno wszystko masz w kodzie OK? wywal ten fragment i zobacz czy będzie w porządku
..i raczej dział XHTML smile.gif


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
slash^
post 5.03.2004, 21:39:28
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 36
Dołączył: 9.04.2003
Skąd: Płock

Ostrzeżenie: (0%)
-----


Widze, co tam jest napisane. Problem w tym, że ta linia 54 wyglada tak:

Kod
  54:    <form style="margin: 0px" method="post" action=""><input type="hidden" name="PHPSESSID" value="58ecc1b68f25a99f344f17948280a4d0" />


Ta opcja hidden jest dodawana automatycznie i nie mam co z nia zrobic, a w walidatorze jest to bład!

Chodzi mi raczej o jakąs komende typu:
Kod
ini_set('arg_separator.output', '&amp;');

ale do formularzy...
Go to the top of the page
+Quote Post
stoprocent
post 11.06.2004, 07:32:07
Post #4





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


[php:1:f3c314ed98]<?php
ini_set("url_rewriter.tags", "a=href,area=href,frame=src,input=src,form=action");
?>[/php:1:f3c314ed98]


--------------------
Go to the top of the page
+Quote Post
hawk
post 11.06.2004, 08:32:17
Post #5





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


To nie ma nic wspólnego z identyfikatorem sesji.
Dopuszczalną zawartością znacznika <form> są elementy blokowe. Takie jak walidator ci napisał. Wszystko inne - a zatem również znacznik <input> jest zabronione. <input> należy zawrzeć w jakimś elemencie blokowym, np <div> lub <p>.

I to nawet nie XHTML, w HTML też tak od zawsze było, tylko przeglądarki zlewały sobie takie reguły, a walidator trzyma się standardu.

Temat powinien być na forum XHTML.
Go to the top of the page
+Quote Post
stoprocent
post 11.06.2004, 09:10:18
Post #6





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


W tym przypadku jest inaczej , pozniewaz php dodaje <input > hidden zaraz po <form> i nie ma mozliwoscui zawzec pola z sesja np w p albo w divie mozna natomiast zrobic tak aby PHPSESSID przekzywany byl przez formularz w inny sposob ,
zamiast pola input przekazuje dodajac zmianna do strony podanej w action w formularzu , przyklad <form action="strona.php?PHPSESSID=blablabla">
Mialem dzis z tym problem i dosc dlugo szukalem tego , rozwiazzanie znalazlem na stronach php . Ten motyw z inputem jest jako bug na php.net i w nowszych wersjach php jest juz to zmienione ponoc .


--------------------
Go to the top of the page
+Quote Post
hawk
post 11.06.2004, 09:37:10
Post #7





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


Fakt, trochę się php rozpędza smile.gif.
Ale gdyby ten <input> wstawić ręcznie?
[php:1:85439e4bc8]
<form name="..." action="..." method="post">
<div>
<input type="hidden" name="<?php echo session_name();" value="<?php echo strip_tags(SID); ?>"/>
</div>
</form>[/php:1:85439e4bc8]
POST jest lepszy niż GET :wink:
Go to the top of the page
+Quote Post
dr_bonzo
post 11.06.2004, 09:37:34
Post #8





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Cytat
W tym przypadku jest inaczej , pozniewaz php dodaje <input > hidden zaraz po <form> i nie ma mozliwoscui zawzec pola z sesja np w p albo


Przeciez morzesz zawrzec CALY formularz w <p> lub <div>

Kod
<div>

<form>

...</form>

</div>


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
stoprocent
post 11.06.2004, 09:56:30
Post #9





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


Validator uzna to za blad , pozniewaz <form > powinien byc poza wszystkim .

@hawk: to nic nie da bo php i tak wstawi inputa bede 2 w takim wypadku .


--------------------
Go to the top of the page
+Quote Post
hawk
post 11.06.2004, 11:29:21
Post #10





Grupa: Zarejestrowani
Postów: 521
Pomógł: 0
Dołączył: 3.11.2003
Skąd: 3city

Ostrzeżenie: (0%)
-----


Cytat
@hawk: to nic nie da bo php i tak wstawi inputa bede 2 w takim wypadku .

Wiem. Tzn niezleżnie od tego czy wstawiamy własnego inputa, czy doklejamy zmienną GET, trzeba tego domyślnego inputa wyłączyć jak opisałeś.
Go to the top of the page
+Quote Post
stoprocent
post 11.06.2004, 11:52:35
Post #11





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

Ostrzeżenie: (0%)
-----


Jak zmineisz tak jak ja podalem to powinien przesylac SID przez parametr w linku i nie tworzyc juz inputa , choc jesli to nie poskutkuje i nie zalezy ci na wysylaniu ID sesji przez formularz to mozesz wogole to wylaczyc .
[php:1:f4d15a0953]<?php
ini_set("url_rewriter.tags", "a=href,area=href,frame=src,input=src");
?>[/php:1:f4d15a0953]
usuwajac form=action , ja tak zorbilem i hula .


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:25