当前位置: 首页 > 图文教程 > 网络编程 > PHP > 一个简单的PHP&MYSQL留言板源码

PHP
php 多线程上下文中安全写文件实现代码
PHP类的使用 实例代码讲解
用php实现让页面只能被百度gogole蜘蛛访问的方法
php 学习笔记
PHP编程过程中需要了解的this,self,parent的区别
php 操作excel文件的方法小结
使用PHP获取网络文件的实现代码
PHP 巧用数组降低程序的时间复杂度
php下将XML转换为数组
php 文件上传代码(限制jpg文件)
php 无极分类(递归)实现代码
PHP 采集获取指定网址的内容
PHP 将图片按创建时间进行分类存储的实现代码
PHP 存储文本换行实现方法
PHP 批量更新网页内容实现代码
用PHP查询搜索引擎排名位置的代码
用php实现的获取网页中的图片并保存到本地的代码
php实现首页链接查询 友情链接检查的代码
处理php自动反斜杠的函数代码
php实现的遍历文件夹下所有文件,编辑删除

一个简单的PHP&MYSQL留言板源码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 114 ::
收藏到网摘: n/a

初学PHP,花了几晚上写了个留言板,请高手指正
p.s.我的空间不支持PHP,不能提供演示了T_T
数据库结构:(库名: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="/upload/tech/20091012/20091012014225_8d317bdcf4aafcfc22149d77babee96d.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="/upload/tech/20091012/20091012014225_bf62768ca46b6c3b5bea9515d1a1fc45.gif" alt="<?= $row[3]?>" /></a><? } ?><? if($row[4]){ ?> <a href="mailto:<?= $row[4] ?>"><img src="/upload/tech/20091012/20091012014226_2f885d0fbe2e131bfc9d98363e55d1d4.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
wuleying_gbook.rar