Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html]validator -> problem z dopisywanym polem
Forum PHP.pl > Forum > Przedszkole
Mary$
Przemaglowałem moja strone przez validatora i jeden z błędów jakie wyskoczyły to:
Line 58 column 120: 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 .

...="1ca42d3db1d7ff533b470d070b5933b3" /><div style="text-align:right">

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.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").



a w htmlu fragment tego dokumentu wygląda tak:
  1. <form method="post" action="index.php"><input type="hidden" name="PHPSESSID" value="5146343e75f4f93dc0ba69bf7a38238b" /><div style="text-align:right">

z tym, że pole
  1. <input type="hidden" name="PHPSESSID" value="5146343e75f4f93dc0ba69bf7a38238b" />

dopisuje sie samo. próbowałem już stworzyć w forularzu swoje pole PHPSESSID, bo myslałem, że wtedy przeglądarka nie doda, ale niestety...

Czy ktoś wie, jak temu zaradzić?
siemakuba
Cytat
dopisuje sie samo
Samo, to się grzmi i błyska, jak zwykł mawiać mój tato ;)
Coś musi ten input tam wpychać, więc musisz odnaleźć to coś, i zmusić je, żeby oprócz inputa będzie wpychało jeszcze otwarcie DIVa ;)

BTW, to powinien być raczej fieldset, a nie div.

pozdr.
Mary$
tak wygląda teraz kod w edytorze:
  1. <form method="post" action="index.php"><fieldset style="border: 0px; text-align:right;">
  2. <label><input type="text" name="keyword" size="20" class="EditBox" value="Szukaj..." style="font-size:8pt;font-family:Tahoma;" onfocus="if(this.value=='Szukaj...')this.value=''" onblur="if(this.value=='')this.value='Szukaj...'"></label>
  3. <input type="hidden" name="content" value="search" />
  4. <input type="hidden" name="show" value="search" />
  5. </form>


a tak w przeglądarce, a w zasadzie w źródle, które podał validator:
  1. <form method="post" action="index.php"><input type="hidden" name="PHPSESSID" value="8cc10c81f7b9ecfef7c45fe5aa5482ce" /><fieldset style="border: 0px; text-align:right;">
  2. <label><input type="text" name="keyword" size="20" class="EditBox" value="Szukaj..." style="font-size:8pt;font-family:Tahoma;" onfocus="if(this.value=='Szukaj...')this.value=''" onblur="if(this.value=='')this.value='Szukaj...'"></label>
  3. <input type="hidden" name="content" value="search" />
  4. <input type="hidden" name="show" value="search" />
  5. </form>


nic nie pomogło dodanie <fieldset> sad.gif
siemakuba
Hm, być może to wcale nie klasa validator wpycha tego inputa tam. Jeżeli masz session.use_trans_sid włączone to prawdopodobnie sam PHP umieszcza tam tego inputa celem przekazania id sessji dalej po zatwierdzeniu formularza.

Więc, spróbuj jeszcze przed session_start() dać:
  1. <?php
  2. ini_set('session.use_trans_sid', 0) ;
  3. ?>
To spowoduje, że id sesji nie będzie przekazywane w URLach i w formularzu ale za pomocą cookiesa. Tak czy inaczej, prawdopodobnie rozwiąże twój problem :)

pozdr.
Mary$
@siemakuba:niestety, nie. popatrz tutaj. pierwszy error jaki wyskakuje (pomijając mase innych winksmiley.jpg) . dodałem przed session_start() i ob_start() to polecenie, o którym napisałeś, ale efektów to nie dało... sad.gif jeżeli ma to jakieś znaczenie, to serwer mam na nazwa.pl i może oni maja zablokowane wszelkie takie manewry z ini. Na serwerze mam ustawione PHP4

edit:
a tak przy okazji, to jak otwieram strone w Operze, to do URL'a i do formularzy jest dodawana zmienna PHPSESSID, a jak przez FF, to nie (przynajmniej nie widać...)

i sprawdziłem w phpinfo. session.use_trans_sid jest ustawiona na On, a z kolei session.use_only_cookies jeżeli ma to jakis związek) jest ustawione na off
siemakuba
Wszedłem na twoją stronę przez FF2 i miałem w linkach dodane PHPSESSID. Wnioskuje, że w formularzu też było dodane. Co jeszcze mi przyszło do głowy - manual mówi, że "session.use_trans_sid" możesz ustawić z poziomu kodu w PHP <= 4.2.3. Prawdopodobnie PHP jest nowsze, więc spróbuj ustawić tę wartość z poziomu .htaccess:
(dla pewności też session.use_only_cookies

plik .htaccess
Kod
php_value session.use_trans_sid "Off"
php_value session.use_only_cokkies "On"


pozdr.
Mary$
Jest! Działa! wielkie dzięki siemakuba biggrin.gif

edit: a tak przy okazji, to PHP4, jakie w tej chwili oferuje nazwa.pl to jest PHP 4.4.4 smile.gif
pammelka
Witam!

mam podobny problem co Mary$ - podczas walidacji do kawalka <form....> dodawany jest input ktory bruzdzi snitch.gif i teraz tak:

-dodalam linijke <?php ini_set('session.use_trans_sid', 0) ;?> i nic
-wkleilam te dwie podane linijki do .htaccess i wtedy w ogole nie chce mi zaladowac strony - wyskakuje error

ta strona to www.yukko.pl/sklep

uporalam sie juz z mnostwem bledow,tylko ten jedne mi zostal

pomocy sad.gif

Czy kod php_value session.use_trans_sid "Off" trzeba wstawic do .htaccess w takiej formie jak jest? bo, jak juz wspomnialam wtedy wyskakuje mi blad...

bardzo prosze o pomoc - nie wiem gdzie jeszcze mam jej szukac, a tu chyba trafilam najlepiej jak moglam... worriedsmiley.gif

ktos madry sie pewnie znajdzie smile.gif

szkoda,ze nikt mi nie pomoze, no trudno
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.