NAME
ZM::Session - sessions manager for CGI
VERSION
Session.pm v 0.2.0
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/