1 頁 (共 1 頁)

[教學]訪客計數器徹底研究(新手用)

發表於 : 2003-12-01 19:36
惜天
對於剛入門的我真是痛苦、書本翻嚕又翻、網頁看嚕又看
加上書本又解說不清、在此分享給各位PHP新手入門者

書本範例----與---竹貓星球做整理-----------
-----------書本範例--有缺點每按首頁人數便累加------
------------------------
所需修改檔案
MySQL內PHPMyAdmin
phpbb2內\r
index.php
language/lang_english/lang_main.php
templates/subsilver/index_body.tpl
--------------------------------
***步驟1***
資料庫選擇SQL加入\r
-----------增加1筆資料庫----複製此段貼至SQL內------------------
CREATE TABLE phpbb_visit_counter ( vc_count int(11) NOT NULL default '0' );
INSERT INTO phpbb_visit_counter VALUES (0);
-------------------------------------------------------------
***步驟2***
開啟
index.php
文件編輯-筆記簿開啟
----------------------找此段文字--------------------------
// End session management

------------------------------------------------------

----------------------文字下加入------------------------
// Update visitor counter 加入列
$sql = "UPDATE phpbb_visit_counter SET vc_count = vc_count +1";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could update your visitor counter', '',
_LINE_, _FILE_, $sql);
}

// Grab current count
$sql = "SELECT vc_count FROM phpbb_visit_counter";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Could grab current visitor count', '',
_LINE_, _FILE_, $sql);
}

// Fetch sql result into a row
$row = mysql_fetch_array($result);
$vc_count = $row['vc_count'];

// Assign template var
$template->assign_vars(array(
'L_VC_COUNT' => $lang['Visitor_Counter'],
'VC_COUNT' => vc_count
));
// 加入列結束
----------------------------------------------------------------------
-------------->書本範例中少此段-----------------------------
--------------------找此段代碼------------------------
'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],

'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
);
--------------------------------------------------
--------------------此段代碼中間加入---------------------
'VC_COUNT' => $vc_count,
------------------------------------------------------
***步驟3***
開啟
language/lang_english/lang_main.php
文件編輯-筆記簿開啟

------------------------找下列此段文字--------------------
// That's all Folks!
-------------------------------------------
----------------------------此段文字之上加入此段---------------
// For 'Visitor counter加入訪客人數總計
$lang['Visitor_Counter'] = '訪客人數總計';
--------------------------------------------------------------
***步驟4***
開啟
templates/subsilver/index_body.tpl
文件編輯-筆記簿開啟

------------------------找此段文字---------------------
[ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}
------------------------------------------------------------

---------------------後面加入此段--------------------
<br />{L_VC_COUNT}:&nbsp{VC_COUNT}
--------------------------------------------------------
*******************************************************************
-------完成版-----星球範例整理----只有進入頁面人數才加1-------
------------------------
所需修改檔案
MySQL內PHPMyAdmin
phpbb2內\r
index.php
templates/subsilver/index_body.tpl
--------------------------------
***步驟1***
資料庫選擇SQL加入\r
-----------增加1筆資料庫----複製此段貼至SQL內------------------
CREATE TABLE phpbb_visit_counter ( vc_count int(11) NOT NULL default '0' );
INSERT INTO phpbb_visit_counter VALUES (0);
-------------------------------------------------------------
***步驟2***
開啟
index.php內\r
文件編輯-筆記簿開啟
---------------找此段代碼------------------
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');
$newest_userdata = get_db_stat('newestuser');
$newest_user = $newest_userdata['username'];
$newest_uid = $newest_userdata['user_id'];
----------------------------------------------
-------------------代碼下加入------------------
// 更新計數器
$sql = "UPDATE $table_prefix" . "visit_counter SET vc_count = vc_count + 1";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, '資料庫錯誤', '', __LINE__, __FILE__, $sql);
}
// 取得目前參觀人數
$sql = "SELECT vc_count FROM $table_prefix" . "visit_counter";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, '資料庫錯誤', '', __LINE__, __FILE__, $sql);
}
// Fetch sql result into a row
$row = mysql_fetch_array($result);
$vc_count = $row['vc_count'];
-----------------------------------------------------------------
--------------------找此段代碼------------------------
'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],

'U_MARK_READ' => append_sid("index.$phpEx?mark=forums"))
);
--------------------------------------------------
--------------------此段代碼中間加入---------------------
'VC_COUNT' => $vc_count,
------------------------------------------------------
***步驟3***
開啟
templates/subsilver/index_body.tpl
文件編輯-筆記簿開啟
--------------------找此段代碼-------------------------
[ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}
------------------------------------------------------------
-------------------此段文章後面加入--------------------
<br /><span class="gensmall">參觀人數: {VC_COUNT}
-------------------------------------------------------

發表於 : 2003-12-16 06:20
PerfectPr
請教一下哦!
如果我是用別人的主機所架設的php要如何增加資料庫呢?

發表於 : 2003-12-16 08:29
streitleak
請參照上面的SQL語法自己寫一個PHP丟上去執行....

[問題]請問為何我的計數器是一次+2呢

發表於 : 2004-01-05 17:45
knives
我安裝好了,可是我的計數器是一次加2
這要怎麼辦呢\r
我的站:http://knivesvash.adsldns.org/phpBB2

發表於 : 2004-01-10 17:20
yuangt
我安裝好了...
我的很正常...

發表於 : 2004-10-01 15:40
ckone
成功是沒錯,可是按重新整理訪客數也會增加
這要怎解決阿?