Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [adodb] obsługa sesji, problem z wywolaniem funkcji
Emet
post 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 winksmiley.jpg

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.
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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 14:04