連接數(shù)據(jù)庫和分頁都可以通過調用外部類來實現(xiàn),如果把類寫在頁面中會顯得很亂,容易出錯。
創(chuàng)新互聯(lián)公司長期為成百上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為惠州企業(yè)提供專業(yè)的網(wǎng)站建設、網(wǎng)站設計,惠州網(wǎng)站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
這個要怎么說呢?先說說留言和回復的區(qū)別,一個簡單留言板留言表可能包含留言者的一些信息和留言的內容吧,那么這個留言表的字段基本就定了,而一個回復信息的表應該包含回復者的信息和回復內容,但是這些基本都可以用留言表來解決,但是怎么樣把回復信息和留言內容關系起來呢?這個就必須在回復信息的表中有一個能夠關聯(lián)兩者的字段。那么這樣兩個表就不完全一樣了,所以要用2個表
工具:
Dreamweaver
php、mysql服務器
步驟/方法
首先是確定自己的留言板需求.例如:名字,郵件及留言內容.
一. 建立一個數(shù)據(jù)庫guestbook。
CREATE TABLE IF NOT EXISTS `content` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
`content` varchar(200) NOT NULL,
PRIMARY KEY (`id`))
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3;
二. 新建config.php
? php
$q = mysql_connect("服務器","數(shù)據(jù)庫用戶","數(shù)據(jù)庫密碼");
if(!$q)
{
die('Could not connect: ' . mysql_error());
}
mysql_query("set names utf8"); //以utf8讀取數(shù)據(jù)
mysql_select_db("guestbook",$q); //數(shù)據(jù)庫
?
三. 新建index.php
?php
include("config.php"); //引入數(shù)據(jù)庫連接文件
$sql = "select * from content"; //搜索數(shù)據(jù)表content
$resule = mysql_query($sql,$q);
?
html
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
body
table width="678" align="center"
tr
td colspan="2" h1留言本 /h1 /td
/tr
tr
td width="586" a href="index.php"首頁 /a | a href="liuyan.php"留言 /a /td
/tr
/table
p
?
while($row=mysql_fetch_array($resule))
{
?
/p
table width="678" border="1" align="center" cellpadding="1" cellspacing="1"
tr
td width="178"Name: ? echo $row[1] ? /td
td width="223"Email: ? echo $row[2] ? /td
/tr
tr
td colspan="4" ? echo $row[3] ? /td
/tr
tr
/table
?
}
?
/body
/html
四. 新建liuyan.php
html
body
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
table width="678" align="center"
tr
td colspan="2" h1留言本 /h1 /td
/tr
tr
td width="586" a href="index.php"首頁 /a | a href="liuyan.php"留言 /a /td
/tr
/table
table align="center" width="678"
tr
td
form name="form1" method="post" action="post.php"
p
Name:
input name="name" type="text" id="name"
/p
pEmail: input type="test" name="email" id="email" /p
p
留言:
/p
p
textarea name="content" id="content" cols="45" rows="5" /textarea
/p
p
input type="submit" name="button" id="button" value="提交"
input type="reset" name="button2" id="button2" value="重置"
/p
/form
/td
/tr
/table
/body
/html
五. 新建post.php
?php
header("content-Type: text/html; charset=utf-8");
include("config.php");
$name= $_POST['name'];
$email= $_POST['email'];
$patch = $_POST['content'];
$content = str_replace("
"," br /",$patch);
$sql = "insert into content (name,email,content) values ('$name','$email','$content')";
mysql_query($sql);
echo " scriptalert('提交成功!返回首頁。');location.href='index.php'; /script";
?
這樣已經成功的寫出一個留言板了。
第二部分
此次將在上面版本上加多管理,回復等功能。
首先在sql中字節(jié)。
ALTER TABLE `content` ADD `reply` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `content`
一. 新建login.php
html xmlns=""
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title無標題文檔 /title
/head
body table width="678" align="center"
tr
td colspan="2" h1留言本 /h1 /td
/tr
tr
td width="586" a href="index.php"首頁 /a | a href="liuyan.php"留言 /a /td
/tr
/table
table align="center" width="678"
tr
td align="center"
form name="form1" method="post" action="login2.php"
label for="textfield" /label
p /p
p帳號:
input type="text" name="name" id="name"
/p
p密碼:
input type="password" name="pw" id="pw"
/p
p
input type="submit" name="button" id="button" value="提交"
input type="reset" name="button2" id="button2" value="重置"
/p
/form /td
/tr
/table
/body
/html
二.login2.php
?
session_start();
header("content-Type: text/html; charset=utf-8");
$name = $_POST['name'];
$pw = $_POST['pw'];
if($name == "admin" $pw == "admin"){
$_SESSION["adminname"] = $name;
echo " scriptalert('登錄完成,返回首頁!');location.href='index.php'; /script";
}else{
echo " scriptalert('錯誤!');location.href='login.php'; /script";
}
?
三. 在原有的index.php上添加
?php
session_start();
include("config.php");
$sql = "select * from content";
$resule = mysql_query($sql,$q);
?
html
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
body
table width="678" align="center"
tr
td colspan="2" h1留言本 /h1 /td
/tr
tr
td width="586" a href="index.php"首頁 /a | a href="liuyan.php"留言 /a /td
td width="80"
// 新增管理員登錄
?php
if (isset($_SESSION['adminname']) $_SESSION["adminname"] == "admin"){
echo " a href='logout.php'登出 /a";
}else{
echo " a href='login.php'管理員登錄 /a";
}
?
/td
/tr
/table
p
?
while($row=mysql_fetch_array($resule))
{
?
/p
table width="678" border="1" align="center" cellpadding="1" cellspacing="1"
tr
td width="178"Name: ? echo $row[1] ? /td
td width="223"Email: ? echo $row[2] ? /td
td width="100"
?php
if(isset($_SESSION['adminname']) $_SESSION["adminname"] == "admin"){
echo " a href='huifu.php?id=" . $row[0] . "'回復 /a";
echo " | " . " a href='delete.php?id=" . $row[0] . "'刪除 /a";
} else {
echo "";
}
?
/td
/tr
tr
td colspan="4" ? echo $row[3] ? /td
/tr
tr
td colspan="4" ?
if($row[4] == ""){
?
? echo "暫無回復。";?
? }else {echo "管理員回復:". $row[4]; } ? /td
/tr
/table
?
}
?
/body
/html
四. 新建huifu.php
?php
include("config.php");
$sql = "select * from content where id=".$_GET["id"];
$resule = mysql_query($sql,$q);
SetCookie("id",$_GET["id"]);
session_start();
header("content-Type: text/html; charset=utf-8");
if(empty($_SESSION["adminname"])){
exit(" script language='javascript'alert('您尚未登錄后臺,或登錄已超時,請重新登錄!');window.location.href='login.php'; /script");
}
?
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
title無標題文檔 /title
/head
body
table width="678" align="center"
tr
td colspan="2" h1留言本 /h1 /td
/tr
tr
td width="586" a href="index.php"首頁 /a | a href="liuyan.php"留言 /a /td
/tr
/table
table align="center" width="678"
tr
td
form name="reply" method="post" action="reply.php"
p回復:
?
while($row=mysql_fetch_array($resule))
{
echo $row[3];
}
?
/p
p
textarea name="reply" id="reply" cols="45" rows="5" /textarea
/p
p
input type="submit" name="button" id="button" value="回復" /
input type="reset" name="button2" id="button2" value="重置" /
/p
/form
/td
/tr
/table
/body
/html
五. reply.php 回復留言提交頁面.
?
include("config.php");
$id = $_COOKIE["id"];
$sql = "select * from content";
header("content-Type: text/html; charset=utf-8");
$patch = $_POST["reply"];
$reply = str_replace("
"," br /",$patch);
$resule = mysql_query("UPDATE `2`.`content` SET `reply` = '$reply' WHERE `content`.`id` ="."$id");
echo " scriptalert('回復成功!');location.href='index.php'; /script";
?
這樣就可以建立出一個簡單的管理.管理帳號都是admin 因為只是判別輸入的是不是admin 是的話就把值輸入進session中.
你有沒有echo $sql看看結果?mysql_query之后有沒有檢查錯誤內容,建議把mysql_query($sql)語句修改為:
if (mysql_query($sql)) echo "插入成功。";
else "插入失敗,執(zhí)行SQL:$sqlBR錯誤信息:".mysql_error();
另外,你不傳remeid就可以寫進去,檢查一下是不是索引重復限制。