[adodb] obsługa sesji, problem z wywolaniem funkcji |
[adodb] obsługa sesji, problem z wywolaniem funkcji |
18.10.2004, 21:06:54
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 9.07.2003 Ostrzeżenie: (0%) |
Witam
Uzywam adodb juz dosc sporo czasu, ostatnio postanowilem wykorzystac mozliwosc zarzadzania sesjami z poziomu adodb, wszystko dziala ok, z wyjatkiem jednej rzeczy, chodzi o wywolanie zdefiniowanej wczesniej funkcji ktora ma sie wykonac po wygasnieciu sesji. Ustawiam wszystko zgodnie z instrukcajami na http://phplens.com/lens/adodb/docs-session.htm ale za nic nie moge uruchomic tej funkcji, probowalem juz roznych kombinacji i nic. Podejrzewam ze robie jakis prosty blad - bo cala reszta dziala. Kod jaki uzywam: Kod $GLOBALS['ADODB_SESSION_DRIVER']='mysql'; //$GLOBALS[] is a nice thing... $GLOBALS['ADODB_SESSION_CONNECT']='localhost'; $GLOBALS['ADODB_SESSION_USER'] ='root'; $GLOBALS['ADODB_SESSION_PWD'] =''; $GLOBALS['ADODB_SESSION_DB'] ='baza'; //'adodb/session/adodb-session.mysql.sql' can create the DB for you include('c:/AppServ/AdoDB/session/adodb-session.php'); //'adodb/adodb.inc.php' will be included automatically Inicjalizuje polaczenie Kod $ADODB_SESS_DEBUG=1; Właczam debugger, ktory nie wywala zadnych bledow Kod ini_set('session.gc_maxlifetime', '60'); ini_set('session.gc_probability', '50'); ini_set('session.gc_divisor', '100'); ustawiam zmienne sesyjne Kod session_start(); startuje sesje Kod $_SESSION['USERID'] = "test"; $ADODB_SESSION_EXPIRE_NOTIFY = array('USERID','NotifyFn'); Zgodnie z manualem : Cytat Suppose we want to be notified when a user's session has expired, based on the userid. The user id in the global session variable $USERID. The function name is 'NotifyFn'. So we define: definiuje potrzebna tablice. Kod $sesskey = session_id(); $expireref = $_SESSION['USERID']; Tutaj nie jestem pewien czy robie wszystko ok, w manualu nie jest dla mnie to za dobrz wyjasnione Kod function NotifyFn($expireref, $sesskey) { echo "Twoja sesja wygasła!"; } No i nieszczesna funkcja ktora ma sie wykonac po wygasnieciu sesji, a za nic nie chce sie uruchomic. Kod $_SESSION['AVAR'] += 1; print "<p> variable={$_SESSION['AVAR']} </p>"; Ten kod wykonuje sie prawidlowo, po odswiezeniu strony zmienna prawidlowo sie zwiekasz, a po bezczynnosci ponad minute (tak wczesniej ustawilem) i odswiezeniu zmienna sie zeruje - wiec wszystko oki, ale nie wywoluje sie ta funkcja - dlaczego ? Ktos uzywa przechowywania sesji z uzyciem adodb? lub wie co moze byc nie tak ? Krotki manual jest pod linkiem: http://phplens.com/lens/adodb/docs-session.htm Chodzi głownie o czesc ktora zatytulowana jest: Notifications bo wlasnie to nie chce zadzialac. |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 14:04 |