CGIS - Session enabled CGI.pm


CGIS documentation  | view source Contained in the CGIS distribution.

Index


NAME

Top

CGIS - Session enabled CGI.pm

SYNOPSIS

Top

    use CGIS;

    $cgi = new CGIS;
    my $first_name = $cgi->session("f_name");

    # use it the way you have been using CGI.pm

DESCRIPTION

Top

CGIS is a simple, session-enabled extension for Lincoln Stein's CGI. Instead of loading CGI, you load CGIS, and use it the way you have been using CGI.pm, without any exceptions.

In addition, CGIS provides session() method, to support persistent session management accross subsequent HTTP requests, and partially overrides header() method to ensure proper HTTP headers are sent out with valid session cookies.

CGIS also modifies your CGI environement by appending 'CGISESSID' parameter with session id as a value. It means, self_url() method (CGI) will print URL with session related data intact.

CGIS requires CGI::Session installed properly. Uses its CGI::Session::File driver, and stores session data in a designated directory created in your system's temporary folder.

METHODS

Top

EXAMPLES

Top

A tiny example of a cgi program can be found in examples/ folder of the distribution. You may as well be able to see it in action at http://www.handalak.com/cgi-bin/cgis This script simply displays your session id as well as sample outputs of urlf() and self_url() methods for you to have an idea.

STORING DATA IN THE SESSION

    # store user's name in the session for later use:
    $cgi->session("full_name", "Sherzod Ruzmetov");

    # store user's email for later:
    $cgi->session("email", 'sherzodr@cpan.org');

READING DATA OFF THE SESSION

    my $full_name = $cgi->session("full_name");
    my $email     = $cgi->session('email');
    print qq~<a href="mailto:$email">$full_name</a>~;

GETTING CGI::Session OBJECT

For performing more sophisticated oprations, you may need to get underlying CGI::Session object directly. To do this, simply call session() with no arguments:

    $session = $cgi->session();    

    # set expiration ticker for session object
    $session->expire("+10m");

For more tricks, consult CGI::Session manual.

AUTHOR

Top

Sherzod B. Ruzmetov <sherzodr@cpan.org>

COPYRIGHT

Top

SEE ALSO

Top

CGI::Session, CGI


CGIS documentation  | view source Contained in the CGIS distribution.