在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

如何運(yùn)用PHP會(huì)話顯示出當(dāng)前在線的用戶

如何運(yùn)用PHP會(huì)話顯示出當(dāng)前在線的用戶

更新時(shí)間:2021-11-16 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

此文是我前一陣子寫的,帖上來以謝大家對我的幫助。
=============

綜述
PHP會(huì)話即SESSION是指用戶從進(jìn)入網(wǎng)站到關(guān)閉網(wǎng)站這段時(shí)間內(nèi)活動(dòng)的一種機(jī)制,它提供了所有網(wǎng)頁都共同使用的公共變量存貯機(jī)制。那么SESSION到底有什么用處呢?網(wǎng)上購物時(shí)大家都用過購物車,你可以隨時(shí)把你選購的商品加入到購物車中,最后再去收銀臺(tái)結(jié)帳。在整個(gè)過程中購物車一直扮演著臨時(shí)存貯被選商品的角色,用它追蹤用戶在網(wǎng)站上的活動(dòng)情況,這就是SESSION的作用。
SESSION的發(fā)明填補(bǔ)了HTTP協(xié)議的局限,HTTP協(xié)議被認(rèn)為是無狀態(tài)協(xié)議,當(dāng)它在服務(wù)端完成響應(yīng)之后,服務(wù)器就失去了與該瀏覽器的聯(lián)系。會(huì)話的發(fā)明使得一個(gè)用戶在多個(gè)頁面間切換時(shí)能夠保存他的信息。
在PHP3版本未直接提供session功能,我們只能用其它辦法來實(shí)現(xiàn),比如用PHPLIB。如果說PHP4與PHP3相比,它最大的進(jìn)步就是提供了SESSION。

Session基礎(chǔ)知識(shí)
要使用session需要PHP4.1以上的版本,而且需要把php.ini中的register_globle=Off設(shè)成register_globle=On。另外,session.cookie_path = / 這行不易更改。
PHP中的session默認(rèn)情況下是使用客戶端的Cookie。當(dāng)客戶端的Cookie被禁用時(shí),會(huì)自動(dòng)通過Query_String來傳遞。

Php處理會(huì)話的函數(shù)一共有11個(gè),我們詳細(xì)介紹一下將要用到幾個(gè)函數(shù)。
1、 session_start
函數(shù)功能:開始一個(gè)會(huì)話或者返回已經(jīng)存在的會(huì)話。
函數(shù)原型:boolean session_start(void);
返回值:布爾值
功能說明:這個(gè)函數(shù)沒有參數(shù),且返回值均為true。最好將這個(gè)函數(shù)置于最先,而且在它之前不能有任何輸出,否則會(huì)報(bào)警,如:Warning: Cannot send session cache limiter - headers already sent (output started at /usr/local/apache/htdocs/cga/member/1.php:2) in /usr/local/apache/htdocs/cga/member/1.php on line 3
2、 session_register
函數(shù)功能:登記一個(gè)新的變量為會(huì)話變量
函數(shù)原型:boolean session_register(string name);
返回值:布爾值。
功能說明:這個(gè)函數(shù)是在全局變量中增加一個(gè)變量到當(dāng)前的SESSION中,參數(shù)name就是想要加入的變量名,成功則返回邏輯值true。可以用$_SESSION[name]或$HTTP_SESSION_VARS[name]的形式來取值或賦值。
3、 session_is_registered
函數(shù)功能:檢查變量是否被登記為會(huì)話變量。
函數(shù)原型:boobean session_is_registered(string name);
返回值:布爾值
功能說明:這個(gè)函數(shù)可檢查當(dāng)前的session之中是否已有指定的變量注冊,參數(shù)name就是要檢查的變量名。成功則返回邏輯值true。
4、 session_unregister
函數(shù)功能:刪除已注冊的變量。
函數(shù)原型:boolean session_session_unregister(string name);
返回值:布爾值
功能說明:這個(gè)函數(shù)在當(dāng)前的session之中刪除全局變量中的變量。參數(shù)name就是欲刪除的變量名,成功則返回true.
5、 Session_destroy
函數(shù)功能:結(jié)束當(dāng)前的會(huì)話,并清空會(huì)話中的所有資源。
函數(shù)原型:boolean session destroy(void);
返回值:布爾值。
功能說明:這個(gè)函數(shù)結(jié)束當(dāng)前的session,此函數(shù)沒有參數(shù),且返回值均為true

上面介紹函數(shù)下文將會(huì)用到,但還有一些有關(guān)session的函數(shù)也介紹一下:
6、 session_encode
函數(shù)功能:sesssion信息編碼
函數(shù)原型:string session_encode(void);
返回值:字符串
功能說明:返回的字符串中包含全局變量中各變量的名稱與值,形式如:a|s:12:"it is a test";c|s:4:"lala"; a是變量名 s:12代表變量a的值"it is a test的長度是12 變量間用分號(hào)”;”分隔。
7、 session_decode
函數(shù)功能:sesssion信息解碼
函數(shù)原型:boolean session_decode (string data)
返回值:布爾值
功能說明:這個(gè)函數(shù)可將session信息解碼,成功則返回邏輯值true
8、 session_name
函數(shù)功能:存取當(dāng)前會(huì)話名稱
函數(shù)原型:boolean session_name(string [name]);
返回值:字符串
功能說明:這個(gè)函數(shù)可取得或重新設(shè)置當(dāng)前session的名稱。若無參數(shù)name則表示獲取當(dāng)前session名稱,加上參數(shù)則表示將session名稱設(shè)為參數(shù)name
9、 session_id
函數(shù)功能:存取當(dāng)前會(huì)話標(biāo)識(shí)號(hào)
函數(shù)原型:boolean session_id(string [id]);
返回值:字符串
功能說明:這個(gè)函數(shù)可取得或重新設(shè)置當(dāng)前存放session的標(biāo)識(shí)號(hào)。若無參數(shù)id則表示只獲取當(dāng)前session的標(biāo)識(shí)號(hào),加上參數(shù)則表示將session的標(biāo)識(shí)號(hào)設(shè)成新指定的id
10、 session_unset
函數(shù)功能:刪除所有已注冊的變量。
函數(shù)原型:void session_unset (void)
返回值:布爾值
功能說明:這個(gè)函數(shù)和Session_destroy不同,它不結(jié)束會(huì)話。就如同用函數(shù)session_unregister逐一注銷掉所有的會(huì)話變量。



編程思路
在社區(qū)、論壇中,我們常能看到當(dāng)前在線的會(huì)員,使訪問者有賓至如歸之感。但這種程序是怎么做出來的呢?

流程如下:











建表user,保存注冊用戶信息。
字段 類型 備注
userid Int(10) 用戶序列號(hào) auto_increment關(guān)鍵字
username Varchar(50) 用戶匿稱
userpwd Varchar(50) 密碼
email Varchar(50) 電子信箱
oicq Varchar(50) OICQ號(hào)
signature mediumtext 簽名
imgurl Varchar(50) 頭像
joindate Varchar(50) 加入時(shí)間
建類文件user.php 定義函數(shù)
exist($username)確認(rèn)新注冊用戶是不是已經(jīng)存在
nsert($username,$userpwd,$email,$oicq,$imgurl,$signature)插入注冊用戶
update($userid,$username,$userpwd,$email,$oicq,$imgurl,$signature) 更新用戶數(shù)據(jù)
get_from_condition($con) 返回滿足查詢條件的記錄集

建表session。當(dāng)用戶登錄時(shí)即向此表插入新記錄,離開或超時(shí)后刪除記錄,保證表中保存的是當(dāng)前在線的用戶。
字段 類型 備注
sessionid Int(10) 序列號(hào) auto_increment關(guān)鍵字
userid Int(10) 用戶序列號(hào)取自u(píng)ser表
ipaddress Varchar(50) Ip地址
lastactivity Int(10) 最后活動(dòng)時(shí)間,用它來判斷用戶是否還在線
建類文件session.php 定義函數(shù)
insert($userid,$ipaddress,$lastactivity) 把登錄成功的用戶插入到表中
update($userid,$ipaddress,$lastactivity)更新在線用戶最后活動(dòng)時(shí)間
del($con)刪除滿足條件的用戶,用它來清除離線用戶
get_from_condition($con) 返回滿足查詢條件的記錄集

公用文件global.php
 include "class/config.inc.php"; //把配置文件包含進(jìn)來
 $db=new db;
 $db-> db_connect( );//連接數(shù)據(jù)庫
 $user= new user; //初始化
 $session = new session;

//啟動(dòng)會(huì)話
 session_start();
//刪除session表中已經(jīng)過期的用戶(即非在線網(wǎng)友)因?yàn)榇宋募偸潜徽{(diào)用從而保證顯示的都是當(dāng)前在線的用戶
$curtime=time();
$con="lastactivity<$curtime";
$session->del($con);

//正在線的網(wǎng)友需不斷更新session表中的lastactivity時(shí)間,并重新設(shè)置用戶的COOKIES
if ($HTTP_SESSION_VARS["online"]=="on"){//此處也可用$_SESSION[“online”]
$userid=$HTTP_SESSION_VARS["userid"];//取當(dāng)前在線用戶的userid
$ipaddress=substr($REMOTE_ADDR,0,50);
$lastactivity=time()+3600; //更新最后活動(dòng)時(shí)間,如時(shí)一個(gè)小時(shí)之內(nèi)未調(diào)動(dòng)頁面就認(rèn)為用戶已離線,從而會(huì)被刪除。
$session->update($userid,$ipaddress,$lastactivity);
}else{
//如果未登錄那直接轉(zhuǎn)入登錄頁面
$firstpage="logon.php";
header ("Location: $firstpage");
exit;
}
登錄文件logon.php
<? include "global.php";//把global.php文件包含進(jìn)來

 if ($hiddenField=="0"){ //測檢表單有未被提交
 
 $con="username='$username' and userpwd='$userpwd'";
 $result=$user->get_from_condition($con);
 if ($user->counter==1){
if (!session_is_registered("online")){//檢測是否被登記過
session_register("online"); //登記一個(gè)新的變量為會(huì)話變量
 }
 if (!session_is_registered("ccauser")){
 session_register("ccauser");
 }
 if (!session_is_registered("userid")){ 
 session_register("userid");
 }
 $ccauser=$username; //給會(huì)話變量賦值
 $online="on"; //這個(gè)變量在global.php用到以更新最后活動(dòng)時(shí)間lastactivity
 $userid=$user->userid;
 $ipaddress=substr($REMOTE_ADDR,0,50);
 $lastactivity=time()+3600;
 $con=" userid=$userid";
 $session->get_from_condition($con);
 //判斷會(huì)話是否存在,有可能你在不同的機(jī)器上登兩次。
 if ($session->counter==1){
$session->update($userid,$ipaddress,$lastactivity); //如存在,更新
}else{
$session->insert($userid,$ipaddress,$lastactivity); //如不存在,插入
}
 
//在客戶機(jī)設(shè)置COOKIES
 SetCookie("ccauser",$username,time()+3600);
 Header("Location:test.php");//然后導(dǎo)向測試頁
}
}
?>
<?
if($HTTP_SESSION_VARS["online"]=="") { //判斷是否已登錄
?>
//下面是登錄的表單
<form name="form1" method="post" action="">
名稱: <input type="text" name="username">
密碼: <input type="text" name="userpwd">
<input type="hidden" name="hiddenField" value="0">
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Submit2" value="重置">
</form>
<?
}else{
echo "網(wǎng)友:".$HTTP_COOKIE_VARS["ccauser"]."你已經(jīng)登錄了"; //如果已登錄則顯示提示
$str="<br><br><a href='exit.php'>退出社區(qū)</a>";
echo $str;
}
?>

測試文件test.php
<?
include "global.php"; //把global.php文件包含進(jìn)來
$strWelcome="歡迎<font color=red>".$_SESSION['ccauser']."</font><br>";
echo $strWelcome; //顯示歡迎信息
$str=” 當(dāng)前在線用戶:<br>===================<br>”;
$con=" 1=1";
//提出session表中所有記錄即是當(dāng)前在線用戶,未把游客算在內(nèi)
$result=$session->get_from_condition($con);
while($row=mysql_fetch_array($result)){

$con1="userid=$row[userid]";
$user->get_from_condition($con1);
$str.=$user->username." ";
}
echo $str;
?>
<br><a href='exit.php'>退出社區(qū)</a>

退出文件exit.php
<?
 include "global.php"; //把global.php文件包含進(jìn)來
 if ($_SESSION["online"]=="on"){
 $con="userid=$userid";
 $session->del($con); //在session表中刪除用戶信息。
 session_destroy();//結(jié)束當(dāng)前的會(huì)話,并清空會(huì)話中的所有資源
 echo "已經(jīng)退出社區(qū)......";
}
?>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 欧美 日韩 国产在线观看| 亚洲精品一二三四五区| 无需播放器的av| 成人综合视频在线| www.av中文字幕| 狠狠干视频网站| 强开小嫩苞一区二区三区网站 | 亚洲最大综合网| 日韩av高清在线看片| 成人免费观看cn| 国产精品无码人妻一区二区在线| 欧美一级中文字幕| 欧美视频在线观看视频| 国产手机免费视频| 女人天堂av手机在线| www黄色av| 亚洲欧美另类动漫| 日韩一级免费片| 911av视频| 日韩人妻无码精品久久久不卡| wwwjizzjizzcom| 免费无码毛片一区二三区| 一区二区传媒有限公司| 成年人在线看片| 午夜免费看毛片| 公共露出暴露狂另类av| 日韩av高清在线看片| 成人在线免费播放视频| 中文字幕亚洲欧洲| 丁香色欲久久久久久综合网| 东北少妇不带套对白| 国产av无码专区亚洲精品| 天天干天天爽天天射| 黄色一级片国产| 无码无遮挡又大又爽又黄的视频| 三级一区二区三区| 日韩欧美不卡在线| 毛片毛片毛片毛| 黄色一级在线视频| 亚洲精品视频三区| 黄色三级中文字幕| 天天影视色综合| 国精产品一区一区三区视频| xxxx在线免费观看| 国产亚洲欧美在线视频| 99亚洲精品视频| 欧美黄色免费影院| 日本aa在线观看| 色91精品久久久久久久久| 91视频最新入口| 日本五级黄色片| 国产免费色视频| 亚欧激情乱码久久久久久久久| 久久国产精品视频在线观看| 日本高清xxxx| 香蕉视频999| 国产91色在线观看| 苍井空浴缸大战猛男120分钟| 亚洲AV无码成人精品一区| 91淫黄看大片| 97视频在线免费播放| 欧洲精品一区二区三区久久| 波多野结衣激情| 天天色天天综合网| 欧美在线aaa| 日韩欧美国产片| www.日本一区| 亚洲成人福利在线| 在线观看的毛片| 欧美一级裸体视频| 久久久久免费精品| 992kp快乐看片永久免费网址| www.av毛片| 国产肥臀一区二区福利视频| 日韩中字在线观看| 国产午夜伦鲁鲁| 无码人妻精品一区二区三区在线| 欧美日韩在线一| 无码精品a∨在线观看中文| www.爱色av.com| 欧美综合在线观看视频| 亚洲欧美激情网| 黄色aaaaaa| 黄色a级在线观看| 久久久久久久9| 欧美色图色综合| 岛国av在线免费| 日本黄xxxxxxxxx100| 精品无码国模私拍视频| av免费中文字幕| 色www免费视频| 国产精品视频二| 成年人网站大全| 一级黄色高清视频| 国产精品www在线观看| 国产精品无码av无码| 久久出品必属精品| 97国产精东麻豆人妻电影| 色婷婷成人在线| 国产日韩亚洲欧美在线| 一级黄色香蕉视频| a级黄色片网站| 色婷婷综合久久久久中文字幕 | 免费观看中文字幕| 欧美精品久久久久久久久久久| 精品欧美一区免费观看α√| 午夜在线观看av| 2022中文字幕| 在线看免费毛片| 少妇高潮喷水久久久久久久久久| 日日干日日操日日射| 欧美日韩黄色一级片| 182午夜视频| 国产成人无码一二三区视频| 精品视频在线观看一区二区| 国产精品人人爽人人爽| 欧美三级在线观看视频| 欧美国产日韩在线视频| 激情综合网俺也去| 国产午夜福利100集发布| 午夜大片在线观看| 日韩一级在线免费观看| 内射国产内射夫妻免费频道| 欧美一级免费在线观看| 一路向西2在线观看| 免费无码av片在线观看| 激情伊人五月天| 无码av天堂一区二区三区| 在线观看免费黄色片| 国产精欧美一区二区三区白种人| 精品久久久久久久无码| 久在线观看视频| 男人和女人啪啪网站| 18禁裸男晨勃露j毛免费观看| 四虎免费在线观看视频| 超碰在线免费观看97| 天天综合中文字幕| 特黄特黄一级片| 国产精品久久久久久久av福利| 日本人69视频| 亚洲一区精品视频在线观看| 亚洲精品国产一区二区三区| 91看片破解版| 97超碰免费观看| 日韩av新片网| 国产l精品国产亚洲区久久| 日韩欧美精品在线观看视频| 日本老熟妇毛茸茸| 亚洲一区在线不卡| 国产无遮挡猛进猛出免费软件| 亚洲成色www.777999| 亚洲一区二区福利视频| 波多野结衣在线免费观看| 特级黄色录像片| 人妻少妇精品无码专区二区| 国产xxxxx在线观看| 欧美性猛交久久久乱大交小说 | 亚洲国产精品影视| 18禁裸男晨勃露j毛免费观看| 国产成人a亚洲精v品无码| 免费男同深夜夜行网站| 人人爽人人爽av| 人妻av中文系列| 九九热精品在线播放| 欧美精品久久96人妻无码| 国产曰肥老太婆无遮挡| mm1313亚洲国产精品无码试看| 99九九精品视频| 北条麻妃在线观看| 久热精品在线观看视频| 国产一二三在线视频| 99re精彩视频| 欧美亚洲精品一区二区| 亚洲欧美手机在线| 精品人妻一区二区三区四区在线 | 日本一区午夜艳熟免费| 亚洲精品www.| 久久国产亚洲精品无码| 国产又爽又黄ai换脸| 不卡av免费在线| 欧洲精品在线播放| 加勒比av中文字幕| 99久久久无码国产精品6| 久久亚洲a v| 色婷婷.com| 男女曰b免费视频| 全黄性性激高免费视频| 小早川怜子一区二区三区| 免费男同深夜夜行网站| 国产 日韩 欧美在线| 日本天堂免费a| 91香蕉视频网址| 一级黄色特级片| 欧美综合在线观看视频| 亚洲熟妇国产熟妇肥婆| 男人添女人下部视频免费| mm131午夜| 国产大尺度在线观看| 黄色a级在线观看| 久久成年人网站|