artykuły

[PHP/XHTML] PHP dodaje mi do adresu URL parametr PHPSESSD w nieprawidłowy sposób, co sprawia, że strona nie przechodzi walidacji, jak temu zaradzić?

4:29
czw, 29 marzec 2007
Najlepiej w tym przypadku posłużyć się funkcją PHP ini_set() w następujący sposób: ini_set('arg_separator.output', "&"); Zmienimy w ten sposób separator & na & co sprawi, że strona zacznie się parsować i walidować. Jeśli to nie zadziała, zawsze można wyłączyć funkcję dodawania przez serwer identyfikatora sesji w adresie URL. W tym celu zmieniamy zmienną (poprzez wywołanie funkcji PHP ini_set() ). WAŻNE: funkcję tą należy wywołać przed wywołaniem funkcji session_start(): ini_set('session.use_trans_sid',"0"); Jeśli oba powyższe sposoby nie działają, udajemy się do pliku '.htaccess'. Jest to lokalny plik konfiguracyjny serwera. Dopisując do niego następujące linijki: SetEnv SESSION_USE_TRANS_SID 0 php_value session.use_only_cookies 1 php_value session.use_trans_sid 0 ...oznajmiamy mu, że nie chcemy aby przekazywał identyfikator sesji w adresie URL. Aha, jeśli po zmianie pliku '.htaccess' dostajcie błąd 500 (wewnętrzny błąd serwera), to wyrzućcie linijki: php_value session.use_only_cookies 1 php_value session.use_trans_sid 0 Należy jednocześnie dodać, że wyłączenie przekazywania identyfikatora sesji w adresie spowoduje brak obsługi sesji w przeglądarkach nie obsługujących ciasteczek (lub mających wyłączoną ich obsługę). Póki co brak pytań w FAQ.

Skomentuj

Aby zamieścić komentarz, proszę włączyć JavaScript - niestety roboty spamujące dają mi niezmiernie popalić.






Komentarze czytelników

    Nie ma jeszcze żadnych komentarzy.
    Dexter