I am trying to set up a session setup that saves session data to a mysql
database.

I have gone into php.ini and set session.save_handler to user.

I call the following include file up using
session_set_save_handler("open", "close", "read", "write", "destroy",
"gc");

(of course I have labeled each function correctly as they appear in my
include file, just too lazy to write it all out here).

When I run the page this is on, I get a parse error at the line where
function session_open is in the include file (see below)

Any idea why?  Thanks

I am modeling this word for word from a example found at:
http://www.onlamp.com/pub/a/php/2001/05/10/sessions.html?page=1 (pages 1
thru 3)

my session include file:

                   <?

                   // Session Table

                   $sess_table = "Sessions";

                   // Retrieve the session maximum lifetime (found in
php.ini)

                   $lifetime = get_cfg_var("session.gc_maxlifetime");

                   //=============
                   // function: mysql_session_open()
                   // purpose: Opens a persistent server connection and
selects
                   the
                   //    database.
                   //=============

                   mysql_session_open($session_path, $session_name) {
// parse error on this line;

                     mysql_pconnect("localhost", "mysql_username",
"mysql_password")
                            or die("Can't connect to MySQL server! ");

                     mysql_select_db("sessions_database")
                            or die("Can't select MySQL sessions
database");

                   } // end mysql_session_open()

                   //=============
                   // function: mysql_session_close()
                   // purpose: Doesn't actually do anything since the
server
                   connection is
                   //    persistent. Keep in mind that although this
function
                   //    doesn't do anything in my particular
implementation, I
                   //    still must define it.
                   //=============

                   mysql_session_close() {

                     return 1;

                   } // end mysql_session_close()

                   //=============
                   // function: mysql_session_select()
                   // purpose: Reads the session data from the database
                   //=============

                   mysql_session_select($SID) {

                     GLOBAL $sess_db;
                     GLOBAL $sess_table;

                     $query = "SELECT value FROM $sess_table
                         WHERE SID = '$SID' AND
                         expiration > ". time();

                     $result = mysql_query($query);

                   } // end mysql_session_select()

                   //=============
                   // function: mysql_session_write()
                   // purpose: This function writes the session data to
the
                   database. If that SID // already exists, then the
existing
                   data will be updated.
                   //=============

                   mysql_session_write($SID, $value) {

                     GLOBAL $sess_db;
                     GLOBAL $sess_table;
                     GLOBAL $lifetime;

                     $expiration = time() + $lifetime;

                     $query = "INSERT INTO $sess_table
                         VALUES('$SID', '$expiration', '$value')";

                     $result = mysql_query($query, $sess_db);

                     if (! $result) :

                      $query = "UPDATE $sess_table SET
                          expiration = '$expiration',
                          value = '$value' WHERE
                          SID = '$SID' AND expiration >". time();

                      $result = mysql_query($query, $sess_db);

                     endif;

                   } // end mysql_session_write()

                   //=============
                   // function: mysql_session_destroy()
                   // purpose: deletes all session information having
input SID
                   (only one row)
                   //=============

                   mysql_session_destroy($sessionID) {

                     GLOBAL $sess_table;

                     $query = "DELETE FROM $sess_table
                         WHERE SID = '$sessionID'";
                     $result = mysql_query($query);

                   } // end mysql_session_destroy()

                   //=============
                   // function: mysql_session_garbage_collect()
                   // purpose: deletes all sessions that have expired.
                   //=============

                   mysql_session_garbage_collect($lifetime) {

                     GLOBAL $sess_table;

                     $query = "DELETE FROM $sess_table
                         WHERE sess_expiration < ".time() - $lifetime;
                     $result = mysql_query($query);

                     return mysql_affected_rows($result);

                   } // end mysql_session_garbage_collect()

                   ?>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to