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


Posted in PHP onJuly 19, 2020

初学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="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(); 
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

PHP 相关文章推荐
php桌面中心(二) 数据库写入
Mar 11 PHP
PHP控制网页过期时间的代码
Sep 28 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
php防止网站被刷新的方法汇总
Dec 01 PHP
PHP扩展开发入门教程
Feb 26 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 PHP
PHP 微信支付类 demo
Nov 30 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP批量删除jQuery操作
Jul 23 PHP
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 #PHP
手把手教你使用DedeCms的采集的图文教程
Mar 11 #PHP
PHP中的CMS的涵义
Mar 11 #PHP
dedecms 制作模板中使用的全局标记图文教程
Mar 11 #PHP
DedeCms模板安装/制作概述
Mar 11 #PHP
织梦模板标记简介
Mar 11 #PHP
php桌面中心(四) 数据显示
Mar 11 #PHP
You might like
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
Uploadify上传文件方法
2016/03/16 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
Python使用matplotlib填充图形指定区域代码示例
2018/01/16 Python
python中使用print输出中文的方法
2018/07/16 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
django从后台返回html代码的实例
2020/03/11 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
求职信模板
2014/05/23 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python