当前位置:首页 > 打造简单的PHP&MYSQL留言板

打造简单的PHP&MYSQL留言板

点击次数:1339  更新日期:2011-01-03
\n

数据库结构:(库名:lyb)


\n

表一: admin
字段: id(int11) name(varchvr) password(varchvr)


\n

表二: lo
字段: id(int11) username(varchvr) sex(varchvr) qq(varchvr) email(varchvr) info(text) ip(varchvr) submit_time(datetime)


\n

1、conn.php(连接数据库文件)


\n

<?php
mysql_connect(“localhost”,”root”,”");//连接数据库
mysql_select_db(“lyb”);//选择数据库
?>


\n

2、header.php(公用头部文件)


\n

<!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=gb2312″ />
<title>银子留言板 Version 1.0</title>
</head>
<link href=”css.css” rel=”stylesheet” type=”text/css” />
<body>
<div id=”head”>
<div id=”head_l”>
<ul>
<li><a href=”index.php”>偶要看留言</a></li>
<li><a href=”post.php”>偶要发表</a></li>
<?php
session_start();
if(_SESSION["key"]==1){//如果获取的SESSION为1则显示管理项
?>
<li><a href=”adminexit.php”>退出管理</a></li>
<?
}
else
{
?>
<li><a href=”admin.php”>偶要管理</a></li>
<?}?>
</ul>
</div>
<div id=”head_r”>银子留言板 Version 1.0</div>
</div>


\n

3、footer.php(公用底部文件)


\n


\n

<?php
counterFile=”conter.xml”;
function displayCounter(counterFile){
fp = fopen(counterFile,”rw”);
num = fgets(fp,5);
num += 1;
print “<div id=\\”footer\\”>银子留言板 Version 1.0&nbsp;&nbsp;&nbsp;您是第&nbsp;”.”num”.”&nbsp;位无聊的银</div>”;
exec(“rm -rf counterFile”);
exec(“echo num > counterFile”);
}
if(!file_exists(counterFile)){
exec(“echo 0 > counterFile”);
}
displayCounter(counterFile);
?>


\n

</body>
</html>


\n

4、index.php(首页)


\n


\n

<?php
require_once(“conn.php”);
require_once(“header.php”);
session_start();


\n

//分页代码开始
pagesize = 10;//设置每页显示条数
rs = mysql_query(“select count(*) from lo”);//取得记录总数,计算总页数用
myrow = mysql_fetch_array(rs);
numrows = myrow[0];//计算总记录


\n

pages = intval(numrows/pagesize);
if(numrows%pagesize)pages++;//设置页数
if(isset(_GET[\'page\']))
{
page = intval(_GET[\'page\']);
}
else
{
page = 1;//设为第一页
}
offset = pagesize*(page-1);//计算记录偏移量
//分页代码结束


\n


sql = “select id,username,sex,qq,email,info,ip,DATE_FORMAT(submit_time, ‘%Y年%m月%d日 %T’ ) from lo order by id desc limit offset,pagesize”;//用到了DATE-FORMAT格式化日期格式
result = mysql_query(sql);
num = mysql_num_rows(result);


\n

if(num>0){
while(row = mysql_fetch_array(result))
{
//echo print_r(row);
if(row[2]==”男”)//这个使性别改成你想要的名称^_^
{
sex = “帅锅”;
}
else
{
sex = “美女”;
}


\n


?>


\n

<div id=”show”>
<p class=”num”>第 [<?= row[0] ?>] 条留言<p>
<p class=”unline”>留言人:<span class=”blue”><?= row[1]?></span>&nbsp;&nbsp;性别:<?= sex ?>&nbsp;&nbsp;留言时间:<?= row[7] ?>&nbsp;<? if(row[3]) {?>&nbsp;<a href=”http://wpa.qq.com/msgrd?V=1&Uin=<?= row[3] ?>&Site=http://www.loai.cn&Menu=yes”><img src=”img/qq.gif” alt=”<?= row[3]?>” /></a><? } ?><? if(row[4]){ ?>&nbsp;<a href=”mailt<?= row[4] ?>”><img src=”img/email.gif” alt=”<?= row[4]?>” /></a>&nbsp;<? }?><? if(_SESSION["key"]==1){ ?>&nbsp;IP:<?= row[6] ?>&nbsp;&nbsp;<a href=”update.php?wuleying&id=<?= row[0]?>”>更改</a>&nbsp;<a href=”delete.php?wuleying&id=<?= row[0]?>”>删除</a><?}?></a></p>
<p class=”blue”>留言内容:</p>
<div id=”show_info”><?= nl2br(htmlspecialchars(row[5])) ?></div>
</div>
<?php
}
}
else
{
echo “<div id=\\”show\\”>无数据……</div>”;
}
?>


\n

<div id=”show_page”>
<p>
<?php
first=1;
prev=page-1;
next=page+1;
last=pages;
if(page==1&&pages>1)
{
echo “首页&nbsp;|&nbsp;”;
echo “上一页&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.next.”\\”>下一页</a>&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.last.”\\”>尾页</a>&nbsp;|&nbsp;”;
}
elseif(page>=1&&page!=pages&&num>0)
{
echo “<a href=\\”index.php?page=”.first.”\\”>首页</a>&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.prev.”\\”>上一页</a>&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.next.”\\”>下一页</a>&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.last.”\\”>尾页</a>&nbsp;|&nbsp;”;
}
elseif(page==pages&&page!=1)
{
echo “<a href=\\”index.php?page=”.first.”\\”>首页</a>&nbsp;|&nbsp;”;
echo “<a href=\\”index.php?page=”.prev.”\\”>上一页</a>&nbsp;|&nbsp;”;
echo “下一页&nbsp;|&nbsp;”;
echo “尾页&nbsp;|&nbsp;”;
}
elseif(page==pages)
{
echo “首页&nbsp;|&nbsp;”;
echo “上一页&nbsp;|&nbsp;”;
echo “下一页&nbsp;|&nbsp;”;
echo “尾页&nbsp;|&nbsp;”;
}
else
{
echo “首页&nbsp;|&nbsp;”;
echo “上一页&nbsp;|&nbsp;”;
echo “下一页&nbsp;|&nbsp;”;
echo “尾页&nbsp;|&nbsp;”;
}
?>
共&nbsp;<span><?= pages ?></span>&nbsp;页&nbsp;|&nbsp;当前第&nbsp;<span><?= page ?></span>&nbsp;页&nbsp;|&nbsp;共&nbsp;<span><?=numrows ?></span>&nbsp条留言</p>
</div>


\n


<?php
mysql_close();
?>


\n

<?php
require_once(“footer.php”);
?>


\n


\n

5、post.php(提交留言页面)


\n

<?
require_once(“header.php”);
?>
<div id=”input”>
<form method=”post” action=”input.php” name=”form1″>
<h1>提交留言</h1>
<p>姓名 :<input type=”text” name=”name” size=”20″ class=”y” />&nbsp;</p>
<p>性别 :<input name=”sex” type=”radio” value=”男” checked/>&nbsp;帅锅&nbsp;<input type=”radio” name=”sex” value=”女”/>&nbsp;美女</p>
<p>Q Q :<input type=”text” name=”qq” class=”y” />&nbsp;(可选填)</p>
<p>Email:<input type=”text” name=”email” class=”y” />&nbsp;(可选填)</p>
<p>留言内容:</p>
<p><textarea name=”info” rows=”5″ cols=”40″></textarea></p>
<p class=”cen”>
<input type=”submit” value=”偶填好了” />
<input type=”reset” value=”偶要重写”>
</p>
<p class=”cen1″>银子留言板 Version 1.0</p>
</form>
</div>
</body>
</html>


\n

6、input.php(插入留言)


\n


\n

<?php
require_once(“conn.php”);


\n


username = _POST[\'name\'];
sex = _POST[\'sex\'];
qq = _POST[\'qq\'];
email = _POST[\'email\'];
info = _POST[\'info\'];


\n

if (strrpos(username,”<”)!==false || strrpos(username,”>”)!==false||strrpos(username,”@”)!==false||strrpos(username,”\\”")!==false||strrpos(username,”‘”)!==false||strrpos(username,”_”)!==false)
{
echo “<script>alert(‘名称不能有特殊字符!’);location.href=’post.php’;</script>”;
exit();
}


\n

if (!ereg(“^[0-9]{0,}”,qq))//用正则检查QQ格式
{
echo “<script>alert(‘OICQ信息有错误!必须是数字!’);location.href=’post.php’;</script>”;
exit();
}


\n

if(email)
{//如果填写了邮箱就用正则检查邮箱格式
if (!ereg(“^[a-zA-Z0-9_\\-\\.]+@[a-zA-Z0-9\\-]+\\.[a-zA-Z0-9\\-\\.]+”,email))
{
echo “<script>alert(‘email格式不正确!’);location.href=’post.php’;</script>”;
exit();
}
}


\n

if(!username)
{
echo “<script>alert(‘名称不能为空哦!’);location.href=’post.php’;</script>”;
exit();
}
elseif(!info)
{
echo “<script>alert(‘留言不能为空哦!’);location.href=’post.php’;</script>”;
exit();
}
else
{
ip = getenv(‘REMOTE_ADDR’);//获取客户端IP地址


\n

sql = “insert into lo (username,sex,qq,email,info,ip,submit_time) values (‘username’,\'sex’,\'qq’,\'email’,\'info’,\'ip’,NOW())”;


\n

result = mysql_query(sql);


\n

mysql_close();


\n

echo “<script>alert(‘提交成功!返回首页’);location.href=’index.php’;</script>”;
}
?>


\n

7、update.php(修改留言页)


\n


\n

<?php
session_start();
require_once(‘conn.php’);
require_once(‘header.php’);


\n


if(_SESSION["key"]==1)
{
id = _GET[\'id\'];
sql = “select * from lo where id= “.id;
result = mysql_query(sql);
row = mysql_fetch_array(result);


\n

?>


\n

<div id=”update”>
<form action=”updatepost.php?wuleying&id=<?= row[0] ?>” method=”post”>
<h1>修改留言</h1>
<p>姓名:<input type=”text” value=”<?= row[1]?>” name=”name” class=”y”></input></p>
<p>留言:</p>
<p><textarea name=”info” rows=”5″ cols=”35″><?= row[5] ?></textarea></p>
<p class=”cen”><input type=”submit” value=”偶要修改” /></p>
<p class=”cen1″>银子留言板 Version 1.0</p>
</form>


\n

<div>


\n


<?php
}
else
{
header(‘location:index.php’);
}
?>


\n

8、updatepost(修改提交页)


\n


\n

<?php
require_once(‘conn.php’);


\n

username = _POST[\'name\'];
info = _POST[\'info\'];
id = _GET[\'id\'];
//echo id;


\n

sql = “update lo set username= ‘”.username.”‘,info=’”.info.”‘ where id=”.id;
mysql_query(sql);


\n

echo “<script>alert(‘修改成功!’);location.href=’index.php’;</script>”;
?>


\n

9、delete.php(删除留言页)


\n


\n

<?php
session_start();
require_once(‘conn.php’);


\n

id=_GET[\'id\'];


\n

if(_SESSION["key"]==1)
{
sql = “delete from lo where id=”.id;
mysql_query(sql);
echo “<script>location.href=’index.php’</script>”;
}
else
{
header(‘location:index.php’);
}
?>


\n

10、admin.php(管理登录页)


\n


\n

<?php
require_once(‘conn.php’);
require_once(‘header.php’);
?>


\n

<div id=”admin”>
<form method=”post” action=”adminpost.php”>
<h1>管理员登录</h1>
<p>姓名 : <input type=”text” name=”name” size=”20″ class=”y” />&nbsp;</p>
<p>密码 : <input type=”password” name=”password” size=”20″ class=”y” />&nbsp;</p>
<p class=”cen”><input type=”submit” value=”管理员登录” /></p>
<p class=”cen1″>银子留言板 Version 1.0</p>
</form>
</div>


\n

11、adminpost.php(管理验证页)


\n


\n

<?php
session_start();
require_once(‘conn.php’);


\n

name = _POST[\'name\'];
password = _POST[\'password\'];


\n

sql = “select * from admin where name=’”.name.”‘”;
result = mysql_query(sql);
num = mysql_num_rows(result);


\n

if (strrpos(name,”<”)!==false || strrpos(name,”>”)!==false||strrpos(name,”@”)!==false||strrpos(name,”\\”")!==false||strrpos(name,”‘”)!==false||strrpos(name,”_”)!==false)
{
echo “<script>alert(‘不能有特殊字符!’);location.href=’admin.php’;</script>”;
}


\n

if(num)
{//如果用户存在,就检查密码是否正确
rs = mysql_fetch_array(result);
if(rs[2]!=password)
{
echo “<script>alert(‘密码不正确,请确认后输入!’);location.href=’admin.php’;</script>”;
}
else
{//用户名,密码都正确,注册SESSION变量,然后跳转到首页
_SESSION["key"]=1;
echo “<script>alert(‘登录成功!’);location.href=’index.php’;</script>”;
}
}
else
{//如果没有这个用户
echo “<script>alert(‘没有这个用户,请确认后输入!’);location.href=’admin.php’;</script>”;
}
?>


\n

12、adminexit.php(退出管理页)


\n


\n

<?php
session_start();
_SESSION["key"] = 0;//使SESSION不为1,0为游客,1为管理员


\n

header(‘location:index.php’);
?>


\n

只是些基本的东东,像MD5加密,UBB,表情图片,添加管理员账号,回复留言(-_!!)等我都没加上去,有兴趣的同学可以完善下,不足的地方请指出^_^


\n

管理员账号:wuleying 密码:123456


\n

源文件下载:点击这里下载源文件


\n

来源:blueidea

\n