網站在線人數的程序代碼,后臺有MySQL(和PHP搭配之最佳組合)數據庫支持。可以直接統計出網站當前的在線人數。
首先是創建MySQL(和PHP搭配之最佳組合)數據庫表。
| CREATE TABLE tablename ( field type(max_length) DEFAULT 'default_value' (NOT) NULL } |
可以使用的SQL語句。
| CREATE TABLE useronline ( |
| $server = "localhost"; //你的服務器 $db_user = "root"; //你的MySQL(和PHP搭配之最佳組合)的用戶名 $db_pass = "password"; //你的MySQL(和PHP搭配之最佳組合)的密碼 $database = "users"; //表的名字 |
設置統計的時間(多少秒內在線人數)
| $timeoutseconds = 300; |
取當前時間。
| $timestamp = time(); |
上面的完整代碼:
| <?php $server = "localhost"; //your server $db_user = "root"; //your MySQL(和PHP搭配之最佳組合) database username $db_pass = "password"; //your MySQL(和PHP搭配之最佳組合) database password if any $database = "users"; //the db name $timeoutseconds = 300;//timeoutseconds limit //get the current time $timestamp = time(); //calculate the lowest timestamp allowed $timeout = $timestamp-$timeoutseconds; ?> |
連接MySQL(和PHP搭配之最佳組合)
| MySQL(和PHP搭配之最佳組合)_connect('localhost', 'username', 'password'); |
也允許使用變量形式。
| MySQL(和PHP搭配之最佳組合)_connect($server, $db_user, $db_pass); |
| MySQL(和PHP搭配之最佳組合)_connect($server, $db_user); |
| MySQL(和PHP搭配之最佳組合)_db_query('database', 'query'); |
我們只要有訪客就要增加一條記錄。
| $insert = MySQL(和PHP搭配之最佳組合)_db_query($database, "INSERT INTO useronline VALUES ('$timestamp','".$_SERVER['REMOTE_ADDR']."','".$_SERVER['PHP_SELF']."')"); |
然后我們給出如果用戶用錯誤信息的處理方式。
| if(!($insert)) { print "Useronline Insert Failed > "; } |
然后我們得實現當超過我們設置的時間我們就要刪除該用戶記錄。
| $delete = MySQL(和PHP搭配之最佳組合)_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout"); |
| if(!($delete)) { print "Useronline Delete Failed > "; } |
下面我們顯示數據庫中有多少個不同的IP
| $result = MySQL(和PHP搭配之最佳組合)_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='".$_SERVER['PHP_SELF']."' "); |
我們使用MySQL(和PHP搭配之最佳組合)_num_rows(query);來統計用戶,代碼如下:
| $user = MySQL(和PHP搭配之最佳組合)_num_rows($result); |
最后我們要關閉數據庫。
| MySQL(和PHP搭配之最佳組合)_close(); |
顯示在線的人數。
| if($user == 1) { print("1 user online/n"); } else { print("$user users online/n"); } |
最終把上面代碼寫成一個PHP文件如下。
| <?php |
新聞熱點
疑難解答