ホームページ >バックエンド開発 >PHPチュートリアル >PHP+MYSQL の例: Web サイト上のオンライン人数のプログラム コード_PHP チュートリアル

PHP+MYSQL の例: Web サイト上のオンライン人数のプログラム コード_PHP チュートリアル

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

PHP サンプル チュートリアル: バックグラウンドでの MYSQL データベース サポートを使用した、Web サイト上のオンラインの人数に応じたプログラム コード。 Web サイト上で現在オンラインになっている人の数を直接カウントできます。

最初のステップは、MYSQL データベース テーブルを作成することです。

CREATE TABLE テーブル名 (
フィールドタイプ(最大長) DEFAULT デフォルト値 (NOT) NULL
}

使用できるSQL文。

CREATE TABLE useronline (
timestamp int(15) DEFAULT 0 NOT NULL,
ip varchar(40) NOT NULL,
file varchar(100) NOT NULL,
主キー (タイムスタンプ),
KEY ip (ip),
KEYファイル (ファイル)
);

次に、PHP スクリプトの使用を開始し、最初に MYSQL 情報を定義します。

$server = "localhost"; //あなたのサーバー
$db_pass = "password"; //あなたのmysqlパスワード
$database = "users ";テーブルの

統計時間を設定します(秒以内にオンラインになった人の数)

$タイムアウト秒 = 300;

現在時刻を取得します。

$timestamp = time();

上記の完全なコード:

$server = "localhost"; //あなたのサーバー
$db_user = "root"; //あなたのmysqlデータベースのユーザー名
$db_pass = "password"; //あなたのmysqlデータベースのパスワード
$database = "users"; //データベース名
$timeoutseconds = 300;//タイムアウト秒の制限
//現在時刻を取得します
$timestamp = time();
//許容される最小のタイムスタンプを計算します
$timeout = $timestamp- $timeout秒;
?>
mysqlに接続する

mysql_connect(localhost, ユーザー名, パスワード);

可変形式も許可されます。

mysql_connect($server, $db_user, $db_pass);

mysql データベースにパスワードがない場合は、次のコードを使用して接続できます (もちろん、独自のパスワードを設定することをお勧めします。そのため、少なくともハッカーはパスワードを復号化する必要があります)

mysql_connect($server, $db_user);

データベースにクエリを実行するコード:

mysql_db_query(データベース, クエリ);

訪問者がいる限り、記録を追加していきます。

$insert = mysql_db_query($database, "useronline VALUES に挿入

($timestamp,".$_SERVER[REMOTE_ADDR].",".$_SERVER[PHP_SELF].")");

次に、ユーザーが使用する場合にエラーメッセージに対処する方法を示します。

if(!($insert)) {

print "Useronline の挿入に失敗しました > ";
}

その後、設定した時間を超えるとユーザーレコードが削除されることを認識する必要があります。

$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp レコードを削除するときのエラーの処理も提供します。

if(!($delete)) {

print "Useronline の削除に失敗しました > ";
}

以下に、データベースに存在する異なる IP の数を示します

$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file=".$_SERVER[PHP_SELF]." ");

私たちは

を使用します

mysql_num_rows(クエリ);

ユーザーをカウントするためのコードは次のとおりです。

$user = mysql_num_rows($result);

最後にデータベースを閉じる必要があります。

mysql_close();

オンラインの人数を表示します。

if($user == 1) {

print("1 ユーザーがオンライン ");
} else {
print("$user オンラインのユーザー ");
}

最後に上記のコードを次のようにPHPファイルに記述します。

//基本的なサーバー情報をここに入力します
$server = "localhost"; //通常は localhost
$db_user = "root"; //MySQL データベースのユーザー名
$db_pass = "パスワード"; //MySQL データベースのパスワード
$database = "users";
$timeout秒 = 300; // 更新されていない (おそらく
// オフラインまたは非アクティブな) すべてのユーザーを $timieoutseconds 時間以内に削除します (つまり、実際には、最後の
// $timeout Seconds 秒間にアクティブだったユーザーをチェックします)
// これはここで、PHP は時間を取得します
$timestamp = time();
//タイムアウトをカウントします。このタイムスタンプより前にオンラインで最後に確認された人はすべて削除されます
$timeout = $timestamp-$timeout秒;
//データベースに接続します
mysql_connect($server, $db_user);
//オンラインリストにユーザーからのタイムスタンプを追加します
$insert = mysql_db_query($database, "INSERT INTO useronline VALUES
($timestamp,".$_SERVER[ REMOTE_ADDR].",".$_SERVER[PHP_SELF].")");
if(!($insert)) {
print "Useronline Insert Failed > ";
}
//オンラインになっていない人を削除します最後の $timeoutseconds 秒間 /active です。
$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout");
if(!($delete)) {
print "Useronline 削除に失敗しました > ";
}
//このページでオンラインになっているオンラインの人数、すべて一意の人数を選択します
$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file=".$_SERVER[PHP_SELF]." ") ;
if(!($result)) {
print "Useronline 選択エラー > ";
}
//行数 = オンライン人数を数えます
$user = mysql_num_rows($result);

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531651.html技術記事 PHP の例の説明: ネットワーク ステーションの在圏数のプログラム コード、後台で MYSQL データベースがサポートされています。ネットワーク ステーションの現在の在圏数を直接出力できます。最初に MYSQL データベース テーブルを作成します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。