首頁 後端開發 php教程 開車新手上路 PHP新手上路(六)

開車新手上路 PHP新手上路(六)

Jul 29, 2016 am 08:34 AM

建立一個簡單互動的網站(二)
5.5 計數器
  讓我們在首頁上加上一個計數器。這個例子已經被講過多次了,但是還是有利於示範怎樣讀寫檔案以及建立自己的函數。 counter.inc包含以下程式碼:

/*
|| 一個簡單的計數器
*/
function get_hitcount($counter_file)
{
/* 將計數器歸零
這樣如果計數器還未被使用,初始值將是1
你當然也可以把初始值設為20000來騙人咯
*/
$count=0;
// 如果存放計數器檔案已經存在,請讀取其中的內容
if ( file_exists($counter_file) )  
{
$fp=fopen($counter_file,"r");
// 我們只取了前20位,希望你的網站不要太受歡迎啊
$count=0+fgets($fp,20);
// 由於函數fgets()返回字串,我們可以透過加0的方法將其自動轉換為整數
fclose($fp);
// 對檔案操作完畢
}
// 增加一次計數值
$count++;
// 將新的計數值寫入檔案
$fp=fopen($counter_file,"w");
fputs($fp,$count);
fclose($fp);
# 傳回計數值
return ($count);
}
?>
然後我們更改front.php3檔案以顯示這個計數器:

include(" include/counter.inc");
// 我把計數值放在檔案counter.txt中,讀出並輸出
printf ("

%06d

n",
get_hitcount("counter.txt"));
include("include/footer.inc");
?>
看看我們的新front.php3
5.6 回饋表單
  讓我們再增加一個回饋表單以便你的瀏覽者填寫並e-mail給你。舉例來說我們用一個很簡單的方法實現它,我們只需要兩個頁面:一個為瀏覽者提供輸入表單;一個獲得表單資料並處理、郵件給你。
  PHP中取得表單資料是很簡單的。當表單被傳送後,表單中所包含的各個元素被賦上了對應的值,而這樣就可以像引用一般變數一樣使用了。


FORM>
  在process_form.php3中,變數$mytext就被賦予了輸入的值--非常簡單!同樣的,你可以從列錶框、多選框、單選框、按鈕等表單元素取得變數值。你唯一要做的就是為表單中的每一個元素取名以便將來可以引用。
  根據這個方法,我們可以產生一個簡單的包含三個元素的表單:姓名、e-mail地址和留言。當瀏覽者發送表單後,處理該表單的PHP頁面(sendfdbk.php3)讀取數據,檢查姓名是否為空,最後將數據發郵件給你。
表單:form.php3

include("include/common.inc");
$title = "回饋";
include("include/header.inc") ;
? >











表格>


include("include/footer.inc");
? >
處理表單:sendfdbk.php3

include("include/common.inc");
$title = "回饋";
include("include/header.inc ");
if ( $name == "" )  
{
// 現在我很討厭匿名的留言!
echo "呃?你怎麼匿名了?";
}  
elseif ($name == "你的名字")  
{
//瀏覽者確實不想透露姓名啊!
echo "你好? 你的名字 應該替換為
你的真實姓名!
";
}  
else  
{
{
{
else  
{
{
//寫一段禮儀的感謝語
echo "
你好,$name。


謝謝你非常感謝您的回饋


$MyName
$MyEmailLink
";
//最後郵件出去
mail($MyEmail, "Feedback.","
姓名: $name
電子郵件: $email
評論: $comment  
") ;
}
include("include/footer.inc");
? >
注意:如果在您的測試過程中,程式最終能正常運作,請查看您的PHP設定檔(PHP3為php3.ini,PHP4為php.in)有沒有設定好。因為本程式您需要PHP設定檔作如下的設定:
首先,用記事本打開你的php3.ini或php.ini文件,看看[郵件功能]有沒有設定好,預設的情況如下所示:
SMTP = localhost  
sendmail_from = me@localhost.com
給SMTP設定SMTP伺服器,最好是你本地的SMTP伺服器,我這裡以21cn的SMTP伺服器為例,然後,在sendmail_from處填上你的E-MAIL位址,例如可以改成這樣:
SMTP = smtp.21cn.com
sendmail_from = pert@21cn.com  修改後別忘了重新啟動Apache、IIS或PWS服務哦。  5.7 簡單的站內搜尋引擎
include("include/common.inc");
$title = "Search";
include("include/header.inc");
?>
? >


" METHOD="POST">
"
SIZE="20" MAXLENGTH="30">




if ( ! empty($searchstr) )  
{
// empty()用來檢查查詢字串是否為空
// 如果不為空,呼叫grep查詢
echo "
n";
// 呼叫grep對所有檔案進行大小寫非敏感模式的查詢
$cmdstr = "grep -i $searchstr *";
$fp = popen( $cmdstr, "r" ); // 執行指令並輸出管道
$myresult = array(); // 儲存查詢結果
while( $buffer = fgetss ($fp, 4096 ))  
{
// grep回傳這樣格式: 檔名:符合字串出現行數
// 因此我們利用函數split()分離處理資料
list($fname, $fline ) = split(":",$buffer, 2);
// 我們只輸出第一次匹配的結果
if ( !defined($myresult[$fname]))
$myresult[ $fname] = $fline;
}
// 現在我們將結果儲存在陣列中,下面就可以處理並輸出了
if ( count($myresult) )
{
echo "
    n";
    while(list($fname,$fline) = each($myresult))
    echo "

  1. $fname : $fline
  2. n";
    echo "
n";
}  
else  
{
// 如果沒有查詢結果
echo "Sorry. Search on $searchstr
returned no results.
n";
}
pclose($fp);
}
?>

include("include/footer.inc");
?>
註:
PHP_SELF是PHP內建的變數。包含目前檔案名稱。  
fgets()按行讀取文件,最多4096(指定)字元長度。  
fgetss()與fgets()相似,只是解析輸出的HTML標記。  
split()有一個參數是2,因為我們只要把輸出分成兩個部分。另外需要省略":"。  
each()是一個陣列運算函數,用來更方便的遍歷整個陣列。  
popen()、pclose()與fopen()、fclose()的功能很相似,只是增加了管道處理。  
請注意以上的程式碼並不是實現搜尋引擎的好辦法。這只是有助於我們更好地學習PHP而舉出的例子而已。理想的情況是你應該建立一個包含關鍵字的資料庫然後進行搜尋。   

以上就介紹了開車新手上路 PHP新手上路(六),包括了開車新手上路方面的內容,希望對PHP教程有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

11個最佳PHP URL縮短腳本(免費和高級) 11個最佳PHP URL縮短腳本(免費和高級) Mar 03, 2025 am 10:49 AM

11個最佳PHP URL縮短腳本(免費和高級)

Instagram API簡介 Instagram API簡介 Mar 02, 2025 am 09:32 AM

Instagram API簡介

在Laravel中使用Flash會話數據 在Laravel中使用Flash會話數據 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash會話數據

構建具有Laravel後端的React應用程序:第2部分,React 構建具有Laravel後端的React應用程序:第2部分,React Mar 04, 2025 am 09:33 AM

構建具有Laravel後端的React應用程序:第2部分,React

簡化的HTTP響應在Laravel測試中模擬了 簡化的HTTP響應在Laravel測試中模擬了 Mar 12, 2025 pm 05:09 PM

簡化的HTTP響應在Laravel測試中模擬了

php中的捲曲:如何在REST API中使用PHP捲曲擴展 php中的捲曲:如何在REST API中使用PHP捲曲擴展 Mar 14, 2025 am 11:42 AM

php中的捲曲:如何在REST API中使用PHP捲曲擴展

在Codecanyon上的12個最佳PHP聊天腳本 在Codecanyon上的12個最佳PHP聊天腳本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12個最佳PHP聊天腳本

宣布 2025 年 PHP 形勢調查 宣布 2025 年 PHP 形勢調查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形勢調查

See all articles