Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> gubiące się zmienne sesyjne
ktuvok
post
Post #1





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Mam skrypt logowania, który zapisuje informacje o użytkowniku do sesji. Informacje te są odczytywane przy otwarciu któregokolwiek ekranu, a jeśli okazuje się, że ich nie ma, to juzer jest wywalany do ekranu logowania.

Ale... Czas życia sesji jest ograniczony. Aktywni juzerzy są wywalani i tak mniej więcej po 20 minutach bezczynności. Tymczasem są formularze, które wymagają dłuższego wypełniania. Co wtedy?

Próbowałem już wpisać:
  1. <?php
  2.  
  3. ini_set(&#092;"session.cookie_lifetime\", 3600);
  4. ini_set(&#092;"session.gc_maxlifetime\", 3600);
  5.  
  6. ?>

co teoretycznie powinno dać juzerowi godzinę na nieprzerwaną pracę z systemem, ale niestety te ustawienia są ignorowane - juzerzy i tak są wylogowywani.

Poza tym mam problem taki - gdzie powinienem to wpisać? Przed każdym wywołaniem session_start() czy tylko przed wywołaniem pierwszego session_start() (w skrypcie logowania)?

Korzystam z serwera wirtualnego i nie mam dostępu do php.ini.

Jestem już po lekturze archiwów grup dyskusyjnych, ale rozwiązania nie znalazłem. Implementacja własnego mechanizmu sesji z różnych przyczyn nie wchodzi w grę. Jakieś sugestie?

Pozdrawiam,
K
Go to the top of the page
+Quote Post
donpablo
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


1. session_start()
2. session_register('nazwa_zmiennej')
3. do linku doloczyc id sesji
4. po za tym nie spotkalem sie z serwerem ktory sam od siebie niszczy sesje, chyba ze uzywasz serwera z ukrainy
Go to the top of the page
+Quote Post
jono
post
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

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


@donpablo: HAHA. Dobre smile.gif KAŻDY serwer niszczy dane sesyjne. Inaczej zapchałby się cały dysk...


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
donpablo
post
Post #4





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 28.02.2005

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


owszem jono, ale nie po kilku minutach bezczynnosci, a jesli by mi sie takie konto dostalo to zaraz bym podarl umowe i do kosza wypier.........!
Go to the top of the page
+Quote Post
ktuvok
post
Post #5





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


20 minut to nie kilka... Niestety, czyszczenie plików sesji z serwera jest czynnością normalną. Nie chcę ich przechowywać dłużej niż 60 minut, ale jak uzyskać pewność, że ten czas nie będzie dłuższy?

Dołączanie IDSesji do linku ma sens tylko wtedy, gdy u klienta nie działają cookies, prawda?

Pozdrawiam,
K
Go to the top of the page
+Quote Post
jono
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

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


Co do SID w linku - php sam dodaje go do wszystkich linków, jeżeli nie działają COOKIES..

hmmm.. a może... AJAX?? Niech funkcja połączona z AJAX-em odświeża sesję np. co 10 minut. Wtedy jak user skończy, to sesja wygaśnie po tych 20 minutach..


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
ktuvok
post
Post #7





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Nie slyszałem zbyt wiele o AJAX, może jakiś link podpowiedz?

Mogę napisać własną funkcję javascript, która odświeży formularz co pewien czas, ale nie w tym rzecz... Nie chcę, żeby przeglądarka sama odświeżała stronę kiedy juzer wpisuje dane, bo moze go to lekko wkurzyć... Nie mówiąc już o konieczności każdorazowego sprawdzenia danych wysłanych na serwer, a łatwo przewidzieć, że dane będące w trakcie wpisywania zapewne nie będą odpowiadać wzorcom...

Czy nie ma na to sposobu opartego wyłącznie na php?

Pozdrawiam,
K
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ajax:
http://php.pl/index.php/phppl/nowosci/ajax_technologia_roku


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
jono
post
Post #9





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Wrocław

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


AJAX

user nie wie, że odświeża się cokolwiek. Ty za pomocą JS wydajesz polecenia do funkcji php, a nie musisz wyświetlać żadnego wyniku...


--------------------
if(function_exists("zrozum_kobiete")){
echo "Niemożliwe!"; exit;}
Go to the top of the page
+Quote Post
ktuvok
post
Post #10





Grupa: Zarejestrowani
Postów: 243
Pomógł: 0
Dołączył: 30.11.2003

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


Dzięki...

A nie ma "bezAJAXowego" sposobu na rozwiązanie mojego problemu? Trochę mi się nie chce (z różnych przyczyn) pakować w nową technologię...

Pozdrawiam,
K
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 13:17