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

初学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&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);
?>
</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>&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="mailto:<?= $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>";
  }
?> 

<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> 

<?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" />&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>

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" />&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>

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

(0)

相关推荐

  • php+Memcached实现简单留言板功能示例

    本文实例讲述了php+Memcached实现简单留言板功能.分享给大家供大家参考,具体如下: MyPdo.php <?php class MyPdo{ private $pdo; function __construct() { $this->pdo = $this->getPdo(); } /** * CreatePDO * * @return PDO */ public function getPdo() { $dbms='mysql'; $dbName='testdb'; $use

  • 基于thinkPHP框架实现留言板的方法

    本文实例讲述了基于thinkPHP框架实现留言板的方法.分享给大家供大家参考,具体如下: 奋斗了一天,终于THINKPHP小邓留言版的概念版出来了 其实真的THINKPHP开发速度很快,作为一个互联网上"搬砖"的,从事这种 纯码农的事也是无可厚非的. 代码就实现了如下功能 1.留言功能. 2.验证功能. 3.分页显示功能. 就是写了几行代码(PS:页面设计代码不算,就算控制器和模型的代码) 下面我公布一下控制的器的代码,关于THINKPHP的代码规则我就不阐述了,看thinkphp手册

  • PHP结合Mysql数据库实现留言板功能

    先给大家展示下留言板效果图: 最近看了下PHP基础语法,就想利用这些基本东西实现留言板,也是对基础知识的一个巩固. 什么是留言板?一种可以用来记录,展示文字信息的载体. 现切入正题,说说本次留言板是怎么实现! 首先用户提交留言后,相关内容存入服务器,当他想看的时候后台再把所有留言读出来,最后显示在浏览器上,用户就可以看到留言了. 这其中后台需要便于读写数据的一个工具,我选择mysql数据库来帮助我完成这些事. 我写了主要是三个php文件,分别是: conn.php 连接数据库: addmsg.p

  • 使用PHP开发留言板功能

    首先我不是一名开发人员,只是一名小小的运维工程师,PHP是我自己喜欢的一门开发语言,所以我偶尔也会敲一些代码,写一些案例.今天我给大家分享的是使用PHP开发的留言板,留言板功能不全所以请大家见谅,也不知道满不满足企业开发的要求,大家看看就可以了,有什么不足的请大家提出谢谢! 下面是效果图,没有进行CSS美化,比较简单请见谅: 留言板 我使用的环境是:LNMP,数据库名称为:test,表名为:lyb,用户名和密码均为:root index.php文件内容:(用户访问的首页文件) <?php inc

  • 一个可分页的基于文本的PHP留言板源码第1/2页

    小弟初学PHP,编了一个留言板程序,自我感觉良好,故厚着脸皮放了上来,请各位大哥指正.源程序如下:  <?php  //文件名:guest.php  //设定部分  $guestfile="guest";//纪录留言的文本文件  $home="index.html";//返回的主页  $imagedir="image"; //图像文件的目录  $backimage=$imagedir."/bk.gif";//背景图像 

  • php xml留言板 xml存储数据的简单例子

    类文件 : _class.xmldb.inc.php 复制代码 代码如下: <?php class xmldb extends DOMDocument{     var $xmldb;     public function __construct($xmldbname){         $this->xmldb=$xmldbname;         if(!file_exists($this->xmldb)){             $initxmldb = "<

  • 来自经典的打造简单的PHP&MYSQL留言板第1/4页

    表一: 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("lo

  • PHP实现基本留言板功能原理与步骤详解

    本文实例讲述了PHP实现基本留言板功能的方法.分享给大家供大家参考,具体如下: 作为一个PHP的初学者,我试着写了一个留言板,页面有点丑,多多见谅,嘻嘻嘻 #我们写留言板需要用到数据库,所以我们先要建立三个表 user表 friend表 text表 #首先需要写一个注册与登录 ##注册 zhuce.html <meta charset="utf-8"> <title>zhuce</title> </head> <body> &

  • php实现网站留言板功能

    我要实现的就是下图的这种样式,可参考下面这两个网站的留言板,他们的实现原理都是一样的 畅言留言板样式: 网易跟帖样式: 原理 需要在评论表添加两个主要字段 id 和 pid  ,其他字段随意添加,比如文章id.回复时间.回复内容.回复人什么的. 其中pid就是当前已经回复过的评论的id. 从上图可以看出,里面每一层的pid就是就是他上一层评论的id.仔细观察下上面的布局.是不是很像PHP中的多维数组?如果你能想到,那么就简单了. 实现方法 1.前台:这个比较简单 就是div嵌div.然后设置di

  • 使用PHP连接数据库实现留言板功能的实例讲解(推荐)

    PHP实现留言板功能: 1 首先是登录页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>留言板登录</title> <script src="bootstrap/js/jquery-1.11.2.min.js"></script> <script src="bootstrap/j

  • 简单实现PHP留言板功能

    本文实例为大家分享了PHP留言板功能的具体实现代码,供大家参考,具体内容如下 HTML代码 <div class="continer" > <div class="head" style="background-color:rgb(217,237,247);height:50px;vertical-align:middle"><h2 style="color: rgb(81,117,114)"&g

  • php开发留言板的CRUD(增,删,改,查)操作

    项目结构: 添加页面:                                说明:这里只注重操作,对界面的美工没有下工夫,希望大家理解...... 列表页面: 修改页面: 项目中所需的sql: 复制代码 代码如下: create database form; use form; CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_increment, `user` varchar(25) NOT NULL, `title` va

  • PHP+MySql实现一个简单的留言板

    跟着书学的,代码不是自己写的,但是都能理解,有时间自己去写个好看一点的吼吼吼-(不熟练花了一天的时间- 留言板是接触WEB开发的基础,写一个留言板需要知道前端的一些基础标签,对数据库有一个了解会基础SQL语言,PHP基础知识,前段基础+数据库基础+PHP基础=>留言板. 前方高能哇(界面真的是吃藕诶- 先建一个数据库,数据库里有两张表,一个存账号密码,一个存留言信息 //创建数据库,里面有两张表Admin和Message create database gbook; //创建Admin表,记录用

  • PHP实现的简单留言板功能示例【基于thinkPHP框架】

    本文实例讲述了PHP实现的简单留言板功能.分享给大家供大家参考,具体如下: 入口文件  文件名 index.php <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True);//开发调试模式 //define('APP_DEB

  • php简单的留言板与回复功能具体实现

    在网上找了这方面的教程 但是基本就是没有人说什么 然后在某一天看见一个PHP程序设计出了一张类似这样的数据库设计图之后就有了很多领悟!下面是数据库的结构图 下面我们就来继续一下介绍 id                        这个算是父Id 可以通过这个id来查询 在这个id下是否有子id 同时也可以记录这个是那条留言的id son_id                    这个是子id 然后通过这个id 可以找到相对应的父id   news_id                  

  • php制作文本式留言板

    代码很简单,就不多废话了,直接奉上代码: del.php 复制代码 代码如下: <html> <head > <meta charset="utf-8"> <title>我的留言板</title> </head> <body> <center>     <?php include("menu.php"); ?>     <h3>删除留言</h

随机推荐