この記事を書き始めるにあたり、読者はすでにユーザー ログイン認証プログラムを作成できることを前提としています ----------------------------- - ----------------------------- カウンターはウェブページへのアクセス回数の合計を計算できますが、期間を知ることはできません 訪問数を動的に記録するために、各期間の訪問数を動的に表示するメソッドの書き方を紹介します 訪問数を記録するには、まずmysqlでデータベースを作成する必要があります。このデータベース行に名前を付けます。同時に line という名前のデータ テーブルを作成します。テーブル内のフィールドは「ユーザー名 (name varchar(20))、時刻 (時刻 datetime)」です。もちろん、リーダーがフィールドを追加することもできます。 データベースを構築します。その後、プログラムの設計を開始できます。訪問数を表示したい場合は、当然データベースにレコードが必要です。リーダーにはユーザー ログイン プログラムを作成できるため、データベースへのレコードの追加は次のように行うことができます。 ログイン手順は、login.php に追加されるものと想定されます: 最初に現在の時刻を支払います: $time=date('Y-m-d H:i:s'); mysql_select_db(line); mysql_query("insert into line (name, time) names('$name','$time')");ユーザーがデータベースにレコードを持っているので、ユーザーのオンライン表示用に line.php を完成させましょう: mysql_select_db(line); ("select * from line"); $num=mysql_numrows($result); if (!empty($num)) { echo "
";現在オンラインになっている人の数: $num"; echo " < /tr>"; for($i=0;$i<$num;$i++){ $name=mysql_result ($result,$i,"name"); echo "User:$name "; } ?>もちろん、このプログラムはまだオンライン ユーザーの数とそのユーザー名を表示できます。ユーザーの 1 人がログアウトすると、データベースにはそのユーザーの記録が残らないはずです。 logout.php であると仮定して、ログアウト プログラムに追加します。 mysql_select_db(line); mysql_query("delete from line where name='$name'"); 現時点では、基本的なユーザー オンライン関数があります。次に、関数をより完成させるために、line.php にコードを追加し続けます。まず、ユーザーが line.php の閲覧を継続する際に、どれくらいの期間オンラインになっていなかったかを指定する必要があります。ここで指定された制限時間は 5 分です。これは、プログラムが今から最初の 5 分間のユーザーの状況を表示することを意味します。したがって、現在の時刻を line.php に設定する必要があります。プログラムに実行を開始するよう指示します。その後、プログラムの実行時にデータベースに記録された時刻から 5 分を超えるデータベース内のすべてのレコードを削除します。これにより、オンラインの場合、どのユーザーでも 5 分以内にすべてのレコードが表示されます。ユーザーの場合、この機能を完了するには次のデータベース ステートメントが必要です: delete from line where time minutes) しかし、常に When line を実行するユーザーがいる場合、別の問題が発生します。 .php が 5 分以上実行されると、プログラムはユーザーを識別して表示し続ける必要があります。 ここでは、ログイン認証であるため、Cookie を使用する必要があります。ユーザーの名前を記録する cookie 変数が $cookiename (特定の変数は cookie の設定によって異なります) であると仮定して、ユーザーの情報を覚えておきます。残りはこの cookie 変数を使用してデータベースの変更を完了するのが簡単です。 update line set time='$time' where name='$cookiename' line.php を改善しましょう: //現在の時刻を設定します $time=date('Y-m-d H:i:s' ); mysql_connect("local","",""); mysql_select_db(line); //ユーザーのレコードを更新します mysql_query("update line set time='$time' where name='$ cookiename'" ); //5 分より古いユーザーレコードを削除します mysql_query("delete from line where time $result=mysql_query("select * from line" ); $num=mysql_numrows($result); if (!empty($num)) { echo ""; :$num"; echo " "; for($i=0;$i$name=mysql_result($result,$i, "name"); echo "User:$name "; } } ?> 優良ユーザーのオンライン表示機能が完了しました。
http://www.bkjia.com/PHPjc/315471.html www.bkjia.com true http://www.bkjia.com/PHPjc/315471.html 技術記事 この記事の冒頭では、読者がユーザー ログイン認証プログラムをすでに作成できることを前提としています。 ------------------------ -- ------------------------- カウンターはウェブページへのアクセスを完了できます...
声明: この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。