-
- CREATE TABLE `db_session` (
- `sesskey` char(32) NOT NULL,
- `expiry` int(11) unsigned NOT NULL,
- `value` text NOT NULL,
- PRIMARY KEY (`sesskey`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-
Copy code
Database shows: db_session
Column names: sesskey, expiry, value Where: sesskey is the primary key.
Value stores the value in the session.
3. Create session_mysql.php file. This file is used to construct a method to save the session. Just modify the parameters and use it directly.
session_mysql.php
php code:
-
- $gb_DBname="db_myBBS";//Database name
- $gb_DBuser="root";//Database user name
- $gb_DBpass="23928484";//Database password
- $gb_DBHOSTname ="localhost";//The name or IP address of the host
- $SESS_DBH="";
- $SESS_LIFE=get_cfg_var("session.gc_maxlifetime");//Get the maximum validity period of the session.
- function sess_open($save_path,$session_name){
- global $gb_DBHOSTname,$gb_DBname,$gb_DBuser,$gb_DBpass,$SESS_DBH;
- if(!$SESS_DBH=mysql_pconnect($gb_DBHOSTname,$gb_DBuser,$gb_DBpass)){
- echo "
- MySql Error:".mysql_error()."
- ";
- die();
- }
- if(!mysql_select_db($gb_DBname,$SESS_DBH)){
- echo "
- MySql Error: ".mysql_error()."
- ";
- die();
- }
- return true;
- }
- function sess_close(){
- return true;
- }
- function sess_read($key){
- global $SESS_DBH,$SESS_LIFE;
- $qry="select value from db_session where sesskey = '$key' and expiry > ".time();
- $qid=mysql_query($qry,$SESS_DBH);
- if(list( $value)=mysql_fetch_row($qid)){
- return $value;
- }
- return false;
- }
- function sess_write($key,$val){
- global $SESS_DBH,$SESS_LIFE;
- $expiry=time() +$SESS_LIFE;
- $value=$val;
- $qry="insert into db_session values('$key',$expiry,'$value')";
- $qid=mysql_query($qry,$SESS_DBH);
- if(!$qid){
- $qry="update db_session set expiry=$expiry, value='$value' where sesskey='$key' and expiry >".time();
- $qid=mysql_query($ qry,$SESS_DBH);
- }
- return $qid;
- }
- function sess_destroy($key){
- global $SESS_DBH;
- $qry="delete from db_session where sesskey = '$key'";
- $qid=mysql_query ($qry,$SESS_DBH);
- return $qid;
- }
- function sess_gc($maxlifetime){
- global $SESS_DBH;
- $qry="delete from db_session where expiry < ".time();
- $qid= mysql_query($qry,$SESS_DBH);
- return mysql_affected_rows($SESS_DBH);
- }
- session_module_name();
- session_set_save_handler("sess_open","sess_close","sess_read","sess_write","sess_destroy","sess_g c" );
- ?>
Copy the code
4. Create a test file.
The session_mysql.php file just created must be referenced before use.
File: session_test.php
-
- include ("session_mysql.php");
- session_start();
- $_SESSION['abc']= "A: I will be back!";
- $_SESSION['meto ']= "B: Me too ";
- $_SESSION['name']= "louis ";
- echo "click me";
- ?>
Copy code
File: get_session_test.php
-
- include ("session_mysql.php");
- session_start();
- echo $_SESSION['abc'];
- echo "
";
- echo $_SESSION[' meto'];
- echo "
";
- echo $_SESSION['name'];
- $_SESSION['wq']="12e";
- echo "
click again";
- ?>
Copy code
File: get_session_test2.php
-
- include ("session_mysql.php");
- session_start();
- echo $_SESSION['abc'];
- echo "
";
- echo $_SESSION[' meto'];
- echo "
";
- echo $_SESSION['name'];
- echo "
";
- echo $_SESSION['wq'];
- //session_destroy();/ /Function used to destroy all sessions.
- ?>
Copy code
|