Man Linux: Main Page and Category List

NAME

       Session Handling -

Detailed Description

       One of the most diferencials of LibCGI is its support to sessions, a
       mechanism that permits the application to keep variables trough the
       user’s session, when he is visiting your website.

   Functions
       int cgi_session_destroy ()
           Destroys the session.
       char * cgi_session_var (const char *var_name)
           Gets session variables value.
       void cgi_session_cookie_name (const char *cookie_name)
           Defines the name of the cookie that LibCGI will use to store
           sessions ID.
       void cgi_session_save_path (const char *path)
           Defines where session control files will be saved.
       int cgi_session_register_var (const char *name, const char *value)
           Register a variable in the current opened session.
       int cgi_session_alter_var (const char *name, const char *new_value)
           Alter session variable value.
       int cgi_session_var_exists (const char *name)
           Searches for determined session variable.
       int cgi_session_unregister_var (char *name)
           Unregister some session variable.
       int cgi_session_start ()
           Starts a new session.

Function Documentation

   int cgi_session_alter_var (const char * name, const char * new_value)
       Alter session variable value.Change session variable ’name’ value to
       data pointer by ’new_value’

       Parameters:
           name Session variable name to change
           new_value New session variable value

       See also:
           cgi_session_register_var(), cgi_session_unregister_var()

   void cgi_session_cookie_name (const char * cookie_name)
       Defines the name of the cookie that LibCGI will use to store session’s
       ID.This function works like cgi_session_save_path(). This functionality
       let you to use different names for each site, but remember, you cannot
       use multiple session for the same application yet.

       Parameters:
           cookie_name Name of the cookie to create

       See also:
           cgi_session_save_path()

       Note:
           This function must be called before cgi_session_start()

   int cgi_session_destroy ()
       Destroys the session.Destroys the current opened session, including all
       data. After session_destroy() was called, is not more possible to use
       session functions before an another call to session_start()

       Returns:
           1 if no errors, 0 if.

       See also:
           cgi_session_start

           cgi_session_error_message

   int cgi_session_register_var (const char * name, const char * value)
       Register a variable in the current opened session.Note that we are
       opening and closing the session file every time this function is
       called... ( I/O ^ 1000000 :-/ )

       Parameters:
           name Variable name
           value Variable value

       See also:
           cgi_session_alter_var(), cgi_session_unregister_var()

   void cgi_session_save_path (const char * path)
       Defines where session control files will be saved.If in the your CGI
       you don’t make a call to cgi_session_save_path(), LibCGI will use the
       default value, which is ’/tmp/’. To see how to modify the value, see
       the following example.
       Just note you need to add ’/’ at the end of the directory name

        // your_cgi.c
        // Set ’session_files’ directory under your CGI directory as the path
        // which LibCGI will use to store session files.

        cgi_session_save_path(’session_files/’);

       Note that using this form, LibCGI will search for ’session_files’ directory using relative path to your cgi application. For example, if your CGI script is located at /usr/local/httpd/web/your_name/cgi-bin/ directory, and you use the above declaration, the files for the session will be stored at /usr/local/httpd/web/your_name/cgi-bin/session_files directory. Resuming, the path is relative to where your application resides.

       And remember, LibCGI does not create the directory for you.

       Parameters:
           path Path, relative or absolute

       See also:
           cgi_session_cookie_name

       Note:
           This function must be called before cgi_session_start()

   int cgi_session_start ()
       Starts a new session.This function is responsible for starting and
       creating a new session. It must be called before any other session
       function, and every time before any HTML header has sent.

       See also:
           session_destroy()

   int cgi_session_unregister_var (char * name)
       Unregister some session variable.Parameters:
           name Session variable name to unregister

       See also:
           cgi_session_var_exists(), cgi_session_register_var()

   char* cgi_session_var (const char * var_name)
       Gets session variable’s value.Parameters:
           name Session variable name to get the value

       Returns:
           Variable contents if found, NULL if not.

       See also:
           cgi_session_var_exists()

   int cgi_session_var_exists (const char * name)
       Searches for determined session variable.Parameters:
           name Session variable name to search

       Returns:
           1 if variable is registered, 0 if not

       See also:
           cgi_session_var()