连接数据库和分页都可以通过调用外部类来实现,如果把类写在页面中会显得很乱,容易出错。
创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为惠州企业提供专业的网站建设、网站设计,惠州网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
这个要怎么说呢?先说说留言和回复的区别,一个简单留言板留言表可能包含留言者的一些信息和留言的内容吧,那么这个留言表的字段基本就定了,而一个回复信息的表应该包含回复者的信息和回复内容,但是这些基本都可以用留言表来解决,但是怎么样把回复信息和留言内容关系起来呢?这个就必须在回复信息的表中有一个能够关联两者的字段。那么这样两个表就不完全一样了,所以要用2个表
工具:
Dreamweaver
php、mysql服务器
步骤/方法
首先是确定自己的留言板需求.例如:名字,邮件及留言内容.
一. 建立一个数据库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("服务器","数据库用户","数据库密码");
if(!$q)
{
die('Could not connect: ' . mysql_error());
}
mysql_query("set names utf8"); //以utf8读取数据
mysql_select_db("guestbook",$q); //数据库
?
三. 新建index.php
?php
include("config.php"); //引入数据库连接文件
$sql = "select * from content"; //搜索数据表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中字节。
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 "插入失败,执行SQL:$sqlBR错误信息:".mysql_error();
另外,你不传remeid就可以写进去,检查一下是不是索引重复限制。