![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Robię system obsługi ogłoszeń (oparty na: smarty, językach, i upiększaniu adresów dla google - czyli jak kto woli mod_rewrite). Na stronie głównej (index.php) startuje sesję, gdy rejestruje tutaj zmienne do sesji to wszystko jest OK! Jednak na stronę głowną są wczytywane inne pliki np. z rejestracją użytkowników, logowaniem,etc za pomocą starej banalnej metody (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (powiedzmy że index.php to ogólny szablon dla całego serwisu).
problem z sesją pojawia się właśnie w tym momęcie, załóżmy że pobieram plik rejestracja.php -> ten plik pobiera lang i tworzy szablon smarty tylko dla formularza rejestracji w pierwszym kroku, w drugim kroku wyświetla potwierdzenie danych, a w 3 zapisuje do bazy i tu równiez powinien zarejestrować nową zmienną w sesji, aby nie dało się po przypadkowym odświeżeniu strony ponownie dodać tych samych danych do bazy:
Na oko wszystko fajnie -> tylko że zmienna się nie rejestruje w sesji, co więcej nie pomogło nawet ponowne startowanie sesji przed samym session_register, to samo polecenie w index.php działa. Pomocy.... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) P.S. żeby nie było krzyku (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) że nie ma $_SESSION['sess_dodano'] tylko jest po prostu $sess_dodano więc już pokazuje początek strony index.php
Zmiennych jest dużo i ciągłe pisanie $_COSTAM['cos'] -> było by bardzo uciążliwe, a w ten sposób można uprościć sobie życie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował mcstar 18.03.2006, 04:49:24 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
To oczywiscie, ze Ci to nie zadziala, niby czemu by miało działać? Uzywasz extract, wiec ta zmienna potem juz nie jest zmienna sesyjna, tylko zwykla zmienna. A to nie jest ulatwianie sobie zycia tylko tworzenie dziur w aplikacji.
Ten post edytował sf 18.03.2006, 07:14:34 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 8.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
No oczywiście że zmienna później powinna stać się zwykła zmienną - problem leży w tym że nie ma co się stać tą zwykła zmienną (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) bo sesja jest zupełnie pusta... problem leży w tym że session_register nic nie rejestruje!! Jak zarejestrowałem w innym pliku tą zmnienną to aplikacja ruszyła bez zarzutu... i odczytała wszystko bez problemu. Setno problemu leży w tym, że session_register i session_unregister działa tylko w index.php nie można użyć tego w plikach pobieranych za pomocą require_once (a w zasadzie to można tylko że efekt jest taki sam, tzn brak efektu, plik na serwerze z sesją ma: 0 kB). Z resztą jeśli wyrzucę extract($_SESSION); i będę odczytywał za pomocą $_SESSION['sess_dodano'] to aplikacja działa tak samo jak teraz - sesja jest pusa i nic się do niej nie chce zarejestrować.
Ten post edytował mcstar 18.03.2006, 12:07:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 21:35 |