[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:29Thu, 29 March 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.