Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Doklejana PHPSESSID - nie XHTML
LamaMASTER
post
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


Witam,
Przy używaniu sesji, gdy session_use_trans_sid jest ustawione na on, sesja doklejana jest do linków - wiadoma rzecz. Ta nieszczęsna sesja jednak dokleja się tak:
Kod
&PHPSESSID=4d7cb8abad2943a844c2332734b57f8a

a nie:
Kod
&PHPSESSID=4d7cb8abad2943a844c2332734b57f8a

Dlatego walidator wywala błędy.
Jak zrobić, aby doklejana sesja była poprawna?
Próbowałem:
  1. <?
  2. {kod z sesjami}
  3. $content = ob_get_contents();
  4. $content = str_replace('&PHPSESSID', '&amp;PHPSESSID', $content);
  5. echo $content;
  6. ?>

Ale nie zadziałało, bo sesja jest doklejana już całkiem przy kompilowaniu skryptu. Nie wiem co zrobić. Swoją drogą zauważyłem, że twórcy php nie wiedzą co to XHTML (np. znaczniki FONT w hightlight_string).

Znalazłem następny błąd. Ten głupi php wstawia mi:
Kod
<input type="hidden" name="PHPSESSID" value="6886c6f9a3b7e462f8a3513ce7e203e1" />

W każdym formularzu. Nie miałbym pretensji gdyby nie to, że wstawia mi to zaraz po <form ...>, a tam musi być chociażby div przed tym, żeby byka nie wywaliło. Co na tą głupotę poradzić?

Ten post edytował LamaMASTER 11.07.2006, 21:34:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LamaMASTER
post
Post #2





Grupa: Zarejestrowani
Postów: 160
Pomógł: 0
Dołączył: 27.03.2006

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


Buhehehehe, nieźle (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Miałeś wenę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ale wielkie dzięki - przyda się (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

edit

&amp;'y już u mnie działały, więc postanowiłem pozbyć się tego z funkcji,a także pozbyć obiektowości, bo mam skrypt pisany nieobiektowo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Pozostawiłem jedynie:
  1. <?php
  2. function SessionInput($content)
  3. {
  4.  return preg_replace_callback('@<input type="([^"]+)" name="PHPSESSID" value="([^"]+)" />@i', '<fieldset>1</fieldset>', $content);
  5. }
  6. ?>

i info o autorze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jednak przy dodaniu:
ob_start('SessionInput'); wszystko gra, ale input dalej nie jest w fieldsecie. Tak samo było z str_replacem dla ampów - po prostu nie daje to efektu, bo sesje chyba są dodawane na sam koniec.
No nie wiem już co zrobić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 21:17