製作PHP留言本全過程[圖]-查看留言

來源:互聯網
上載者:User

    查看留言是預設開啟留言本時進入的頁面,也就是首頁,名稱為index.php。在前面,我們向資料表中已添加了一條測試資料,因此預設首頁中也只顯示這一條資料,22-7所示。


圖22-7  留言本首頁

    在留言本首頁可分為三部分。第一部分為頁首,顯示了留言板的標題和導航連結(“查看”留言和“我要留言”);第二部分是留言的主體,每一條資訊以一個水平線作為分隔;第三部分是頁尾,這裡顯示了使用MySQL資料庫伺服器的版本。

    如下所示即為圖22-3所示index.php檔案的內容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>PHP GuestBook V1.0 | www.itZcn.com</title>

<link media=all href="style_1.css" type=text/css rel=Stylesheet>

</head>

<body>

<div id="mainbody">

                   <div id="main">

                            <div id="divGuestBookNav"><h2>PHP GuestBook V1.0 <span id="gbAction"> • <a href='index.php'  id='viewGBLink'>查看留言</a> • <a href='AddWord.php'  id='sendGBLink'>我要留言</a> </h2></div>

                            <UL id='ulGuestBook' class='boxGB'></UL>

                   </div>

</div>

</div>

<?

 include "./main_body.php";

?>

</body>

</html>

    讀者應該很容易看出,在這個頁面中使用了很多HTML代碼進行布局,惟一的PHP代碼為最後一句“include "./main_body.php"”,它的作用是將頁面main_body.php中的內容包含到當前頁面中,使用這種方法可以實現多個模組和功能的重用,在後面我們將多次使用。

    接下來介紹顯示留言的main_body.php頁面,由於這個頁面中需要完成與MySQL資料庫的互動操作,因此包含了大量的PHP代碼,如下所示:

<?

 require_once 'fun.php';

 $sql="select * from $table";

//建立資料庫連接

$link=mysql_connect($hostname,$username,$password);

//開啟資料庫

mysql_select_db($database,$link);

//執行查詢語句

$result=mysql_query($sql,$link);

//擷取查詢結果的行數

$totlerows=@mysql_num_rows($result);

echo ("<p> <br>");

echo (" ");

echo "<br>";

//判斷是否是最後一行

while (list($pid,$name,$email,$url,$content)=mysql_fetch_row($result))

{

//反白留言編號(id)

echo "<h1>$pid</h1>";

?>

<div class="tblcontent" >

<div class="spanTitle">作 者:<?=$name?></div>

<div class="spanTitle">Email:<a href="mailto:<?=$email?>"><?=$email?></a></div>

<div class="spanTitle">主 頁:<a href="<?=$url?>" target="_blank"><?=$url?></a></div>

<div class="spanTitle">內 容:</div>

<div><h3><?=$content?></h3></div>

</div>

<hr size="1" noshade="noshade" class="LineStyle">

<?}

echo "MySQL 伺服器版 本  ".mysql_get_server_info();

//關閉資料庫連接

 mysql_close();

?>

    在頁面中對於關鍵語句都給出了注釋。注意,第一行語句“require_once 'fun.php'”的含義同樣是包含fun.php頁面的代碼,與include類似,但兩者之間有很大差別。

    include()和require()語句都可以實現包含並運行指定檔案。但include()產生一個警告,而require()則導致一個致命錯誤。換句話說,如果想在遇到丟失檔案時停止處理頁面就用require();include()則不是這樣,指令碼會繼續運行。require_once()語句在指令碼執行期間包括並運行指定檔案。此行為和require()語句類似,唯一區別是如果該檔案中的代碼已經被包括了,則不會再次包括。

    再往下的語句,示範了一個典型的資料互動的例子。首先,與資料庫建立串連,再開啟指定的資料並執行查詢語句,然後根據查詢的結果選擇一種方式顯示出來(這裡為列表的形式),最後關閉資料庫連接。

    fun.php檔案中儲存的是有關留言本程式中使用的全域資訊,在添加留言時同樣需要他們,例如資料庫名稱、伺服器位址等,如下即為該檔案的內容:

<?php

 $username="root";          //串連資料庫的使用者名稱

 $password="123456";        //串連資料庫的密碼

 $database="gb";            //資料庫名

 $hostname="localhost";      //伺服器位址

 $table = 'guestbook_demo';   //表名

 $sql="select * from $table";  //查詢語句

?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.