PHP&MYSQL留言板源码(终极完整版)

时间:2024-02-24 09:02:22

数据库结构:(库名:lyb)
表一: admin
字段: id(int11) name(varchvr) password(varchvr)
表二: lo
字段: id(int11) username(varchvr) sex(varchvr) qq(varchvr) email(varchvr) info(text) ip(varchvr) submit_time(datetime)
1 conn.php(连接数据文件)

<?php
mysql_connect("localhost","root","");//连接数据库
mysql_select_db("lyb");//选择数据库
?>
2 header.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=gb2312" />
<title>银子留言板 Version 1.0</title>
</head>
<link href="css.css" rel="stylesheet" type="text/css" />
<body>
<?php session_start(); ?>
<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();//DOFY同学指出本句前不能有任何输出内容,就此改正
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>

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

代码:


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

4 index.php(首页)

代码:


<?php
require_once("conn.php");
require_once("header.php");
session_start();
//分页代码开始
$pagesize = 10;//设置每页显示条数
$rs = mysql_query("select count(*) from lo");//取得记录总数,计算总页数用
$myrow = mysql_fetch_array($rs);
$numrows = $myrow[0];//计算总记录
$pages = intval($numrows/$pagesize);
if($numrows%$pagesize)$pages++;//设置页数
if(isset($_GET[\'page\']))
{
$page = intval($_GET[\'page\']);
}
else
{
$page = 1;//设为第一页
}
$offset = $pagesize*($page-1);//计算记录偏移量
//分页代码结束

$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);
if($num>0){
while($row = mysql_fetch_array($result))
{
//echo print_r($row);
if($row[2]=="男")//这个使性别改成你想要的名称^_^
{
$sex = "帅锅";
}
else
{
$sex = "美女";
}

?>
<div id="show">
<p class="num">第 [<?= $row[0] ?>] 条留言<p>
<p class="unline">留言人:<span class="blue"><?= $row[1]?></span> 性别:<?= $sex ?> 留言时间:<?= $row[7] ?> <? if($row[3]) {?> <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]){ ?> <a href="mailto:<?= $row[4] ?>"><img src="img/email.gif" alt="<?= $row[4]?>" /></a> <? }?><? if($_SESSION["key"]==1){ ?> IP:<?= $row[6] ?> <a href="update.php?wuleying&id=<?= $row[0]?>">更改</a> <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>";
}
?>
<div id="show_page">
<p>
<?php
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if($page==1&&$pages>1)
{
echo "首页 | ";
echo "上一页 | ";
echo "<a href=\"index.php?page=".$next."\">下一页</a> | ";
echo "<a href=\"index.php?page=".$last."\">尾页</a> | ";
}
elseif($page>=1&&$page!=$pages&&$num>0)
{
echo "<a href=\"index.php?page=".$first."\">首页</a> | ";
echo "<a href=\"index.php?page=".$prev."\">上一页</a> | ";
echo "<a href=\"index.php?page=".$next."\">下一页</a> | ";
echo "<a href=\"index.php?page=".$last."\">尾页</a> | ";
}
elseif($page==$pages&&$page!=1)
{
echo "<a href=\"index.php?page=".$first."\">首页</a> | ";
echo "<a href=\"index.php?page=".$prev."\">上一页</a> | ";
echo "下一页 | ";
echo "尾页 | ";
}
elseif($page==$pages)
{
echo "首页 | ";
echo "上一页 | ";
echo "下一页 | ";
echo "尾页 | ";
}
else
{
echo "首页 | ";
echo "上一页 | ";
echo "下一页 | ";
echo "尾页 | ";
}
?>
共 <span><?= $pages ?></span> 页 | 当前第 <span><?= $page ?></span> 页 | 共 <span><?=$numrows ?></span> 条留言</p>
</div>

<?php
mysql_close();
?>
<?php
require_once("footer.php");
?>

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

<?
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" /> </p>
<p>性别 :<input name="sex" type="radio" value="男" checked/> 帅锅 <input type="radio" name="sex" value="女"/> 美女</p>
<p>Q Q :<input type="text" name="qq" class="y" /> (可选填)</p>
<p>Email:<input type="text" name="email" class="y" /> (可选填)</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>
6 input.php(插入留言)

代码
<?php
require_once("conn.php");

$username = $_POST[\'name\'];
$sex = $_POST[\'sex\'];
$qq = $_POST[\'qq\'];
$email = $_POST[\'email\'];
$info = $_POST[\'info\'];
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();
}
if (!ereg("^[0-9]{0,}$",$qq))//用正则检查QQ格式
{
echo "<script>alert(\'OICQ信息有错误!必须是数字!\');location.href=\'post.php\';</script>";
exit();
}
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();
}
}
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地址
$sql = "insert into lo (username,sex,qq,email,info,ip,submit_time) values (\'$username\',\'$sex\',\'$qq\',\'$email\',\'$info\',\'$ip\',NOW())";
$result = mysql_query($sql);
mysql_close();
echo "<script>alert(\'提交成功!返回首页\');location.href=\'index.php\';</script>";
}
?>
7 update.php(修改留言页)

代码

<?php
session_start();
require_once(\'conn.php\');
require_once(\'header.php\');

if($_SESSION["key"]==1)
{
$id = $_GET[\'id\'];
$sql = "select * from lo where id= ".$id;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>
<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>
<div>

<?php
}
else
{
header(\'location:index.php\');
}
?>
8 updatepost(修改提交页)

代码

<?php
require_once(\'conn.php\');
$username = $_POST[\'name\'];
$info = $_POST[\'info\'];
$id = $_GET[\'id\'];
//echo $id;
$sql = "update lo set username= \'".$username."\',info=\'".$info."\' where id=".$id;
mysql_query($sql);
echo "<script>alert(\'修改成功!\');location.href=\'index.php\';</script>";
?>
9 delete.php(删除留言页)

代码

<?php
session_start();
require_once(\'conn.php\');
$id=$_GET[\'id\'];
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\');
}
?>
10 admin.php(管理登录页)

代码

<?php
require_once(\'conn.php\');
require_once(\'header.php\');
?>
<div id="admin">
<form method="post" action="adminpost.php">
<h1>管理员登录</h1>
<p>姓名 : <input type="text" name="name" size="20" class="y" /> </p>
<p>密码 : <input type="password" name="password" size="20" class="y" /> </p>
<p class="cen"><input type="submit" value="管理员登录" /></p>
<p class="cen1">银子留言板 Version 1.0</p>
</form>
</div>
11 adminpost.php(管理验证页)

代码

<?php
session_start();
require_once(\'conn.php\');
$name = $_POST[\'name\'];
$password = $_POST[\'password\'];
$sql = "select * from admin where name=\'".$name."\'";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
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>";
}
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>";
}
?>
12 adminexit.php(退出管理页)

代码

<?php
session_start();
$_SESSION["key"] = 0;//使SESSION不为1,0为游客,1为管理员
header(\'location:index.php\');
?>

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