SQLSession ver.1.1 documentation



About

sqlSession class ver. 1.1 writen by Nikolajus Krauklis ( nikolajus@avc.lt )
based on Joshua Macadam ( josh@qixo.com ) "session" functions ( http://sinc.onestop.net/sqlsession.html )
thanks to Juozas Salna ( juozas@avc.lt )

All database abstraction rewriten into avDB
["Alternatyvus Valdymas" database abstaction]

Sessions based on cookies and MySQL. Very easy to use.

Changelog

2001.12.13 - Nikolajus Krauklis 2001.11.05 - Juozas Salna 2001.09.25 - Juozas Salna, Nikolajus Krauklis 2001.09.07 - Juozas Salna 2001 08 28 - Juozas Salna 2001 08 24 - Nikolajus Krauklis 2001 08 21 - Nikolajus Krauklis 2001 08 10 - Nikolajus Krauklis 2001 08 09 - Nikolajus Krauklis

Install

Create in your MySQL database these tables:
CREATE TABLE u_session (
  id char(20) NOT NULL default '',
  LastAction int(10) NOT NULL default '0',
  ip char(15) NOT NULL default '',
  userID mediumint(9) default NULL,
  PRIMARY KEY  (id),
  KEY id (id)
) TYPE=MyISAM;
 
CREATE TABLE u_session_vars (
  name varchar(30) NOT NULL default '',
  session varchar(20) NOT NULL default '',
  value varchar(100) default NULL,
  id mediumint(8) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (id),
  UNIQUE KEY id (id),
  KEY sessionID (session)
) TYPE=MyISAM;
Then copy class'es to your dir and try this example:

exmaple.php
<?
	/*!
		This is SQLsession example.
	*/

	include_once("db.class.php");
	include_once("sqlsession.class.php");
	
	$DB_HOST = 'localhost';
	$DB_USER = 'root';
	$DB_PASSWD = '';
	$DB_DBNAME = 'php';
	
	$g_db = new Db();
	$g_sess = new sqlSession();

	if (isset($action)&&$action=="make") {
		$g_sess -> set_var("username",$user);	
	}
	
	if (isset($action)&&$action=="kill") {
		$g_sess->logout();
		header("Location:example.php");	
	}
	
	if (!isset($username)) {
		echo "<form method=post>";
		echo "Username: <input type=text name=user value=''><br><br>";
		echo "<input type=hidden name=action value='make'><br>";
		echo "<input type=submit value=Submit>";
		echo "</form>";
	} else {
		
		echo "Session started<br>";
		echo "Session ID: ".$g_sess->return_sessionID()."<br>";
		
		echo "Your UserName: " . $g_sess->get_var("username");
		
		echo "<br><br>Now session will be alive $g_sess->MAX_UNAUTH_IDLE sec.";
		
		/*!
				or if you set in sqlsession class
		
				Load vars from database to GLOBALS or not? 1 = true, 0 = false;
				var $load_vars = 1;
				
				you may just type:
				
				echo "Username:" . $username;
						
		*/
		
		echo "<br><br><a href='example.php'>Refresh</a>";
		echo "<br><br><a href='example.php?action=kill'>Kill session</a>";
	}
	
	
?>
It's only one simple example. Try to go further into the sqlSession class sourc'es and comments to make better expression about features of class.

Download

Try this links:
http://www.php.lt/sqlsession/sqlsession.zip
http://www.php.lt/sqlsession/sqlsession.class.phps
http://www.php.lt/sqlsession/db.class.phps
http://www.php.lt/sqlsession/example.phps

Reviews from HotScripts

Reviewer: Nellchen from Germany
Great! This session class is very easy to understand. You can add additional features in only a couple of minutes. The code can be easily integrated in bigger projects. It'a also perfect for learning the session concept, because the source is so clearly written. It helped me a lot to improve my own session class. Good job!