ホームページ  >  記事  >  バックエンド開発  >  PHP によるオンライン ユーザー計算の実装_PHP チュートリアル

PHP によるオンライン ユーザー計算の実装_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:06:54868ブラウズ

include "class/config.inc.php" //設定ファイルをインクルードします
; $db = 新しいデータベース;
$db-> db_connect( ); //データベースに接続します
$user = 新しいユーザー //初期化
$session = 新しいセッション;
//セッションを開始します
session_start();
//セッション テーブル内の期限切れのユーザー (つまり、オンラインでないユーザー) を削除します。このファイルは、現在オンラインのすべてのユーザーが表示されるようにするために常に呼び出されるためです
$curtime=time();
$con="lastactivity<$curtime";
$session->del($con);
//オンライン ユーザーは、セッション テーブルの最終アクティビティ時間を常に更新し、ユーザーの COOKIES をリセットする必要があります
if ($HTTP_SESSION_VARS["online"]=="on"){ //$_SESSION["online"] もここで利用できます
$userid=$HTTP_SESSION_VARS["userid"] // 現在のオンライン ユーザーのユーザー ID を取得します
$ipaddress=substr($REMOTE_ADDR,0,50);
$lastactivity=time()+3600; //最後のアクティビティ時間を更新します。ページが 1 時間以内に移動されない場合、ユーザーはオフラインとみなされ、削除されます。
$session->update($userid,$ipaddress,$lastactivity);
}その他{
//ログインしていない場合は、ログインページに直接アクセスしてください
$firstpage="logon.php";
header ("場所: $firstpage");
終了します;
}

insert($userid,$ipaddress,$lastactivity) は、正常にログインしたユーザーをテーブルに挿入します
update($userid,$ipaddress,$lastactivity) は、オンライン ユーザーの最後のアクティビティ時間を更新します
del($con) は条件を満たすユーザーを削除し、オフライン ユーザーをクリアするために使用します
get_from_condition($con) はクエリ条件を満たすレコードセットを返します

if ($hiddenField=="0"){ //テストフォームが送信されていません
$con="username='$username' および userpwd='$userpwd'";
$result=$user->get_from_condition($con);
if ($user->counter==1){
if (!session_is_registered("online")){// 登録されているか確認します
session_register("online"); // 新しい変数をセッション変数として登録します
}
if (!session_is_registered("ccauser")){
session_register("ccauser");
}
if (!session_is_registered("userid")){
session_register("ユーザーID");
}
$ccauser=$username; // セッション変数に値を代入します
$online="on"; //この変数は、最後のアクティビティ時刻を更新するために global.php で使用されます lastactivity
$userid=$user->userid;
$ipaddress=substr($REMOTE_ADDR,0,50);
$lastactivity=time()+3600;
$con=" ユーザー ID=$ ユーザー ID";
$session->get_from_condition($con);
// セッションが存在するかどうかを確認します。異なるマシンに 2 回ログインした可能性があります。
if ($session->counter==1){
$session->update($userid,$ipaddress,$lastactivity) // 存在する場合は更新します
}その他{
$session->insert($userid,$ipaddress,$lastactivity); //存在しない場合は
を挿入します }
// クライアントに Cookie を設定します
SetCookie("ccauser",$ユーザー名,time()+3600);
Header("Location:test.php");//テストページに移動します
}
}
?>
if($HTTP_SESSION_VARS["online"]=="") { //ログインしているかどうかを判断します
?>
//以下はログインフォームです

名前:
パスワード:


}その他{
echo "Netizen:".$HTTP_COOKIE_VARS["ccauser"]."あなたはすでにログインしています" // ログインしている場合は、プロンプトが表示されます
$str="

コミュニティを終了します";
エコー $str;
}
?>

include "global.php"; //global.php ファイルをインクルードします
$strWelcome="ようこそ".$_SESSION['ccauser']."
";
echo $strWelcome //ウェルカムメッセージを表示します
$str=” 現在のオンライン ユーザー:
===================
”;
$con="1=1";
//セッション テーブル内のすべてのレコードが、観光客をカウントせず、現在のオンライン ユーザーであることを提案します
$result=$session->get_from_condition($con);
while($row=mysql_fetch_array($result)){
$con1="ユーザーid=$row[ユーザーid]";
$user->get_from_condition($con1);
$str.=$user->ユーザー名." ";
}
エコー $str;
?>

コミュニティから退出する

www.bkjia.com本当http://www.bkjia.com/PHPjc/630494.html技術記事 include class/config.inc.php; //設定ファイルをインクルード $db = new db; //データベースに接続 $session = 新しいセッション; / セッションを開始します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。