NAME ZM::Session - sessions manager for CGI VERSION Session.pm v 0.1.0 Recent Changes: 0.1.0 Added sessions this user's IP support. 0.0.3 Added 'nocontent' parametr to method start(). 0.0.2 Changed variable's manipulation methods. 0.0.1 WOW! It's working!!! :-) DESCRIPTION This module can be used anywhere you need sessions. As a session management module, it uses files with a configurable lifetime to handle your session data. For those of you familiar with PHP, you will notice that the session syntax is a little bit similar. This module storing session ID at users COOKIES. METHODS The following public methods are availible: $s = new ZM::Session(); The constructor, this starts the ball rolling. It can take the following hash-style parameters: lifetime how long the session lasts, in seconds. path the directory where you want to store your session files. id if you want to give the session a non-random name, use this parameter as well. head additional headers. check_ip if you want check user IP address. Create new session if IP was changed. $s->start(); This creates a session and set COOKIE or resumes an old one if COOKIE exist and session file alive. This will return '1' if this is a new session, and '0' if it's resuming an old one. If you defined no values in the 'new()' call, then the session will start with a default lifetime of 600 seconds, a path of /tmp, and a random string for an id. This method have one argument - 'nocontent'. This argument allow you print Content-type self. $s->set_path(); Set the session path or, without an argument, return the current session path. Used with an argument, this performs the same thing as the 'path' parameter in the constructor. $s->id(); If the session id exists, this will return the current session id - useful if you want to maintain state with a cookie! If you pass a parameter, it acts the same as new( id => 'some_session_name'), i.e., it creates a session with that id. $s->is_set(); Check to see if the variable is defined. Returns '1' for true, '0' for false. $s->unset(); This method allows you to undefine variable. $s->set(); This is where you actually define your variables. This method takes two arguments: the first is the name of the variable, and the second is the value of the variable. $s->get(); This method allows you to access the data that you have saved in a session - just pass it the name of the variable that you 'set()'. $s->unsetall(); Calling this method will wipe all the variables stored in your session. $s->destroy(); This method deletes the session file, destroys all the evidence, and skips bail. EXAMPLES Session creation and destruction use strict; use ZM::Session; my $s = new ZM::Session(lifetime=>10,path=>"/home/user/sessions/",id=>$cgi->param("SID"),check_ip=>"yes"); $s->start(); # $s->set_path('/home/user/sessions/'); $s->set("zm","abc"); print $s->get("zm"); #should print out "abc" if ($s->is_set("zm")) { print "Is set"; } else { print "Not set"; } # unset "zm" $s->unset("zm"); print $s->get("zm"); #should print out empty string $s->unset(); # wipe all variables $s->destroy(); # delete session with this ID COPYRIGHT Copyright 2002 Zet Maximum AUTHOR Zet Maximum ltd. http://www.zmaximum.ru/