<?php
if (!isset($__session_inc__)){
$__session_inc__=1;
//require("cookie.inc.php3");
# -------------------------------------------------------------------
# Ses " /> 日本中文字幕伊人成中文字幕,日本zljzljzlj精品,竹菊影视一区二区三区

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

在PHP3中實現SESSION的功能(一)

SESSION函數庫:session.inc.php3

<?php
if (!isset($__session_inc__)){
$__session_inc__=1;
//require("cookie.inc.php3");
# -------------------------------------------------------------------  
# Session Management v1.0 21.6.1998  
# (c) Wild Karl Heinz <[email protected]>  
#  
# This Include handle Session based variable handling  
#  
# Please feel free and use it. If you make it more functional  
# it would be nice to send me a copy.  
#  
# Don't forget - Mysql_connect !  
#  
# The database structure  
# Table structure for table 'session'  
#  
# CREATE TABLE session (  
# id int(11) DEFAULT '0' NOT NULL auto_increment,  
# sid varchar(20) DEFAULT '' NOT NULL,  
# val blob,  
# times timestamp(14),  
# PRIMARY KEY (id),  
# KEY sid (sid),  
# UNIQUE sid_2 (sid)  
# );  
#  
# You'll miss here a cron job to delete the old sessions from db  
# -------------------------------------------------------------------  

// 請注意上面被注釋掉的CREATE TABLE語句,
// 你需要在你所使用的數據庫上執行這條語句,
// 表名也可以不是session,那么就需要設置下面的$sess_table變量了。

// 此處你需要設置庫名,和表名。
// 不過一般建議就使用session作為表名
$sess_db = 'dbname';  
$sess_table = 'session';  

# ----------------------------------------------------  
# Session_CheckID - 檢查、設置并返回 Session-ID  
# 參數......: cookie保存時間(以分鐘計)
# 也可不設置表示這個 cookie 只在當前session 有效
# 這其實就象ASP中SESSION的時效一樣。
# 返回值....: 一個唯一的Session-ID (作為cookie存儲
# ----------------------------------------------------  
function Session_CheckID( $min )  
{
global $sess_sid;  

if( !$sess_sid ) {  
$sess_sid = uniqid( SC ); //取得一個唯一的隨機數
/*
if( $min > 0 ) {  
SetCookie("sess_sid", $sess_sid, time()+($min*60), "/", "", 0 );  
}  
else {  
SetCookie("sess_sid", $sess_sid, "", "/", "", 0 );  
}  
上面是原先的代碼,會出錯。所以另外用了一個更好的函數。
函數庫:cookie.inc.php3
*/
jssetcookie("sess_sid",$sess_sid,$min);
return( false );  
}  
else {  
return( true );  
}  
}  

# ----------------------------------------------------------  
# str2arr - 將字符串轉換成session數組
# 參數.....: string
# 返回值...: 全局數組(其實就是session)  
#本函數用途:將字符串轉換成session數組
#如"session[username]=yourid&session[userpass]=12345"
#將會被轉換成下面的數組
# session[username]="yourid"
# session[userpass]="12345"
#請注意函數split(),each(),list(),eval()的用法。
# ----------------------------------------------------------  
function str2arr( $ts )  
{  
global $session;  

$vals = split( "&", $ts );  
while( list($key,$val) = each($vals) ) {  
list( $name, $wert ) = split( "=", $val );  
if( $val ) eval( "$$name = "$wert";" );  
}  
}  

# ----------------------------------------------------------  
# session_read() - 從SESSION表中取數據,轉換成session數組  
# 參數........: 無
# 返回值......: 如果讀出數據,返回 true ,否則返回 false
#注意.........: 用到了str2arr()這個函數
# ----------------------------------------------------------  
function session_read()  
{  
# Hash array to keep session-variables  
global $session;  
global $sess_sid, $sess_db, $sess_table, $sess_error;  

$sel = "Select val from $sess_table where sid = '$sess_sid'";  
$res = mysql_db_query( $sess_db, $sel );  
if( mysql_numrows( $res ) ) {  
$val = mysql_result( $res, 0, "val" );  
str2arr( $val );  
mysql_free_result( $res );  
return( true );  
}  
else {  
return( false );  
$sess_error = mysql_error();  
}  
}  

# ------------------------------------------------------  
# Split_Array() - 將session數組轉換成字符串
# 參數.......: 數組
# 返回值.....: 數組轉換得來的字符串  
#  
# Thanks to Rasmus (這人好象是php的發明人)
# 注意:將session數組轉換成字符串
#如session[username]="yourid"
# session[userpass]="12345"
#將會被轉換成"session[username]=yourid&session[userpass]=12345"
#同時該函數考慮到了數組的某個元素也是數據的情況
#這個函數被設計成一個遞歸函數
# ------------------------------------------------------  
function Split_Array( $arr, $a = "", $b = "", $c = "" )  
{  
while( list( $key, $val ) = each( $arr ) ) {  
if( is_array( $val ) ) {  
$ts .= Split_Array( $arr[ $key ],  
( strlen( $a ) ? $a : $key ),  
( strlen( $b ) ? $b : ( strlen( $a ) ? $key : "" ) ),  
( strlen( $c ) ? $c : ( strlen( $b ) ? $key : "" ) ) );  
}  
else {  
$ts .= "session";  
$ts .= $a ? "[$a]" : "";  
$ts .= $b ? "[$b]" : "";  
$ts .= $c ? "[$c]" : "";  
$ts .= "[$key]=$val&";  
}  
}  
return( $ts );  
}  

# ---------------------------------------------------  
# session_write - 將session數組轉換成字符串,再存到session表中  
# 參數.: 無
# 返回值...: 如果存入正常返回 true ,否則返回 false
# ---------------------------------------------------  
function session_write()  
{  
# Hash array to keep session-variables  
global $session;  

global $sess_sid, $sess_db, $sess_table;  
global $sess_error;  

# if you like to delete a session-cookie  
# you must check it before writting the session  
# array  

if( !$sess_sid ) { session_checkid( 0 ); }  

$ts = Split_Array( $session );  
if( $ts > "" ) { $ts = substr( $ts, 0, strlen( $ts ) - 1 ); }  
$res = mysql_db_query( $sess_db, "Select * from session where sid = '$sess_s'");  
if( mysql_numrows( $res ) == 0 ) {  
$sel = "Insert into $sess_table ( id, sid, val, times ) ";  
$sel .= "values( 0, '$sess_sid', '$ts', NULL )";  
}  
else {  
$sel = "Update $sess_table set val = '$ts', ";  
$sel .= "times = NULL where sid = '$sess_sid'";  
}  
if( !mysql_db_query( $sess_db, $sel ) ) {  
$sess_error = mysql_error();  
return( false );  
}  
else { return( true ); }  
}  

# ---------------------------------------------  
# session_del - 清除當前所有的session
# 并刪除session表中和當前session有關的記錄  
# 參數.....: 一個隨機的session id  
# 返回值...: 無
# ---------------------------------------------  
function session_del()  
{  
global $session, $sess_db, $sess_table, $sess_sid;  

$sel = "Delete from $sess_table where sid = '$sess_sid'";  
if( !mysql_db_query( $sess_db, $sel ) ) {  
$sess_error = mysql_error();
}
$sess_sid = '';
}
}
?>   

原作者:不詳  

php技術在PHP3中實現SESSION的功能(一),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产亚洲精品久久无亚洲 | 5G在线观看免费年龄确认 | 抽插内射高潮呻吟爆乳 | 灌饱娇嫩H将军公主最新章节 | XXX老姥群交 | 九九精彩视频在线观看视频 | 高中生被C到爽哭视频免费 高挑人妻无奈张开腿 | 亚洲欧洲日产国码久在线 | 国产亚洲精品久久久久苍井松 | 男生互捏jiji的故事 | 88蜜桃人妻无码精品系列 | 人妻体体内射精一区二区 | 草草色| 精品国产5g影院天天爽 | 亚洲综合日韩在线2019 | 在线播放一区二区精品产 | 国产 亚洲 中文字幕 在线 | 野花日本大全免费观看3中文版 | 特黄AAAAAAA片免费视频 | 无码中文字幕热热久久 | 国产电影午夜成年免费视频 | 国产盗摄TP摄像头偷窥 | 毛片在线看片 | 久久99热成人精品国产 | av天堂电影网在线观看 | 久久视频精品38线视频在线观看 | 芭乐草莓樱桃丝瓜18岁大全 | 办公室里呻吟的丰满老师电影 | 精品麻豆一卡2卡三卡4卡乱码 | 忘忧草研究院一二三 | 国产成人精品免费视频大全办公室 | 欧美 亚洲 日韩 在线综合 | 四川少妇大战4黑人 | 成人精品视频在线观看播放 | 香蕉久久夜色精品国产小优 | 男同志vdieos免费 | 国产性夜夜性夜夜爽91 | 娇妻玩4P被三个男人伺候电影 | 成年免费三级视频 | 欧美亚洲国产手机在线有码 | 欧美wwwvideos在线观看 |