今天白天再次被霸占,晚上整理了一下最近的日程,再次蹋上了我的菜鳥PHP學習之旅。今天下載了一個“創佳PHPTXT留言本 1.0版”,開始看原始碼咯。現在已經11點28了~。
先從index.php下手:require("config.php"); include("function.php");require和include的差別還是比較重要的。手冊:http://cn2.php.net/manual/zh/function.require.php。
現在來看看config.php和function.php裡面都有什麼東西吧。
config.php定義了一些整個網站都要用到的變數:例如管理員帳號、密碼、存放留言路徑及檔案名稱以及每頁顯示的留言條數。記得Discuz裡也有這麼一個東西,可能這是所有PHP站點的不成文規定?
function.php定義了一系列的函數,例如檢查使用者名稱、密碼,轉換UBB程式碼之類的,不過偶不知道UBB程式碼是什麼東西~。暫時不管了。
回到index.php。後面定義了幾個暫時不知道有什麼用的變量,暫時越過去吧,鬱悶。緊接著是一個header函數http://cn2.php.net/manual/zh/function.header.php。包含一個叫head.php的文件,用file()將保存留言的文件讀到一個叫msgd的陣列中。 http://cn2.php.net/manual/zh/function.file.php
今天大概把原始碼看懂了,不過實在太晚了,就暫時不寫了,以後再說吧。應該要安個Word然後直接複製過來(我也不知道為什麼我機器上沒有Word~~)。總之今天休息了,明天白天又沒時間,晚上不回家住,後天先送人去火車站,然後就回學校了。真不知道什麼時候能有時間繼續我的PHP。
require("head.php"); 包含一個文件,不過head似乎只被index.php包含了,不知道為什麼不直接寫進去。 head部分的程式碼主要是提供搜尋留言的表單。
$msgd=file($dbtable); 其中$dbtable在config中已經定義了,$dbtable="data/data.dat"; 該檔案用於保存留言。這裡用了file函數將這個檔案保存在$msgd數組中。文件的每一行是一個陣列元素。
$rows=count($msgd);這裡將用count函數將$msgd的元素數(留言數)存在$rows中。
if($kw)//關鍵字,判斷是否搜尋
{
for ($i=0;$i {
$tmp2=explode(分割符|",$msgd[$i]);//沒一條留言存在tmp2這個數組中。
if($type=="name")//如果是按姓名搜尋
{
$msgn[$i]=$tmp2[1];//將名字村在$ms[$i]中gn
}else//不是按名字搜尋的話
if(eregi($kw,$msgn[$i]))
{
$chj_nr[]=$msgd[$i];//使用數組$chj_nr[]存放一條完整的留言*符合要求的留言數量 }
}
if($chj_numib $total=ceil($chj_numib/$pagesize); //計算總頁數
}else//如果不是搜尋
{
$Hchj_numib=$rows; $msgd);
$total=ceil($chj_numib/$pagesize);
}
if($pagesize*$totalif($pagesize*$total
}
$page2=$page+1; //計算開始條數 //目前頁的開始
$pp2= $pp+$pagesize; //計算結尾條數 //同上
for($i=$pp; $i
{
if($i $tmp=explode ("|chjia_com|",$msg[$i]);
$tmp[10]=epost($tmp[10]);
?>
後面就是輸出一個留言了。到這裡index.php就基本完事了。
以上就是菜鳥的PHP筆記3的內容,更多相關內容請關注PHP中文網(www.php.cn)!