这是一个最基础的留言板程序了,但是己经有了留言板程序基本功能,很适合于php初学者用用,学习用啊,当然也可以用于企业网站也是很不错的哦。
index.php
- <?php
- session_start();
- $con=mysql_connect('localhost','root','root') or die('链接数据库失败!');
- mysql_query('set names utf8');
- mysql_select_db('GuestBook');
- $pagesize = 10;//每一页显示多少留言记录
- if(isset($_GET['page'])&&$_GET['page']!='') $page=$_GET['page'];
- else $page=0;
- $sql = "SELECT a . * , b.name, b.email, b.qq, c.revert_time, c.revert
- FROM post a
- LEFT JOIN revert c ON ( a.id = c.post_id ) , guest b
- WHERE a.guest_id = b.id
- ORDER BY a.id DESC";
- $numRecord = mysql_num_rows(mysql_query($sql));
- $totalpage = ceil($numRecord/$pagesize);
- $recordSql = $sql. " LIMIT ".$page*$pagesize.",".$pagesize;
- $result = mysql_query($recordSql);
- ?>
- <!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=utf-8" />
- <title>PHPiask简易留言板</title>
- <style type="text/css">
- <!--
- body {
- margin-left: 0px;
- margin-top: 0px;
- }
- a:link {
- text-decoration: none;
- color: #FF6600;
- }
- a:visited {
- text-decoration: none;
- }
- a:hover {
- text-decoration: underline;
- }
- a:active {
- text-decoration: none;
- }
- .STYLE1 {
- color: #FFFFFF;
- font-weight: bold;
- font-size: 16px;
- }
- td{
- font-size:12px;
- }
- .tdhx {
- font-style: italic;
- line-height: 1.5;
- text-decoration: underline;
- }
- -->
- </style>
- <script language="javascript">
- function checkInput(){
- var Email = document.getElementById('email');
- var QQ = document.getElementById('qq');
- var name = document.getElementById('name');
- var post = document.getElementById('post');
- //验证用户名:不能超过10个字符(5个汉字),不能输入非法字符,不能为空
- nameValue = name.value.replace(/s+/g,"");
- var SPECIAL_STR = "~!%^&*();"?><[]{}/|,:/=+—";
- var nameflag=true;
- for(i=0;i<nameValue.lenght;i++){
- if (SPECIAL_STR.indexOf(nameValue.charAt(i)) !=-1)
- nameflag=false;
- }
- if(nameValue==''){
- alert('请填写用户名称!');
- return false;
- }
- if(nameValue.length>10){
- alert('用户名称最多10个字符(5个汉字)!');
- return false;
- }
- if(nameflag===false){
- alert('用户名称不能包含非法字符请更改!');
- return false;
- }
- //验证QQ号码
- var par =/^[1-9]d{4,12}$/;
- if(QQ.value!=''&&!par.test(QQ.value)){
- alert('请输入正确的QQ号码');
- return false;
- }
- //验证Email地址
- var emailpar = /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/;
- if(Email.value!=''&&!emailpar.test(Email.value)){
- alert('请输入正确的邮箱地址!');
- return false;
- }
- if(QQ.value==''&&Email.value==''){
- alert('邮箱和QQ必选其一');
- return false;
- }
- if(post.value==""){
- alert('请输入留言内容!');
- return false;
- }
- if(post.value.length>400){
- alert('留言内容太长!');
- return false;
- }
- }
- </script>
- </head>
- <body>
- <table width="800" border="0" align="center">
- <tr>
- <td height="80" bgcolor="#003366"><span class="STYLE1"> 简易留言板教程(<a href="http://www.phpiask.com">PHP iask</a>)</span></td>
- </tr>
- <tr>
- <td height="5" bgcolor="#efefef"></td>
- </tr>
- </table>
- <table width="800" border="0" align="center" bgcolor="#fefefe">
- <?php
- while($rs=mysql_fetch_object($result)){
- ?>
- <tr>
- <td class="tdhx">留言人:<?php echo $rs->name?> |Email:<?php echo $rs->email?>|QQ:<?php echo $rs->qq?>|留言时间:<?php echo date("Y-m-d H:i:s",$rs->post_time+8*3600)?></td>
- </tr>
- <?php
- if(isset($_SESSION['login'])&&$_SESSION['login']){
- ?>
- <tr>
- <td class="tdhx"><a href="revert.php?id=<?php echo $rs->id?>">回复</a> | <a href="delete.php?id=<?php echo $rs->id?>">删除</a></td>
- </tr>
- <?php
- }
- ?>
- <tr>
- <td>留言内容:<?php echo nl2br(htmlspecialchars($rs->post))?><br/>
- <font color="Red">
- 回复内容:<?php echo nl2br(htmlspecialchars($rs->revert))?>[<?php if($rs->revert_time!="") echo date("Y-m-d H:i:s",$rs->revert_time+8*3600)?> ]
- </font>
- </td>
- </tr>
- <tr><td height="3px" bgcolor="##FF6600"></td></tr>
- <?php
- }
- ?>
- </table>
- <table width="800" border="0" align="center" bgcolor="#B1C3D9">
- <tr>
- <td >
- <?php
- if($page>0) echo "<a href='index.php?page=".($page-1)."'>上一页|</a>" ;
- if($page<$totalpage-1) echo "<a href='index.php?page=".($page+1)."'>下一页</a>" ;
- ?></td>
- </tr>
- </table><form action="post.php" method="post" id="postForm" name="postForm">
- <table width="800" border="0" align="center" cellspacing="1" bgcolor="#efefef">
- <tr>
- <td width="117" bgcolor="#FFFFFF">姓名:</td>
- <td width="673" bgcolor="#FFFFFF"><label>
- <input type="text" name="name" id="name" />
- </label></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFFF">Email:</td>
- <td bgcolor="#FFFFFF"><label>
- <input type="text" name="email" id="email" />
- </label></td>
- </tr>
- <tr>
- <td bgcolor="#FFFFFF">QQ:</td>
- <td bgcolor="#FFFFFF"><label>
- <input type="text" name="qq" id="qq"/>
- </label></td>
- </tr>
- <tr>
- <td colspan="2" bgcolor="#FFFFFF">留言内容:</td>
- </tr>
- <tr>
- <td colspan="2" bgcolor="#FFFFFF"><label>
- <textarea name="post" id="post" cols="40" rows="5"></textarea>
- </label></td>
- </tr>
- <tr>
- <td colspan="2" bgcolor="#FFFFFF"><label>
- <input type="submit" name="Submit" value="提交" onclick="return checkInput();"/>
-
- <input type="reset" name="Submit2" value="重置" />
- </label><a href="login.php">管理员登录</a></td>
- </tr>
- </table></form>
- </body>
- </html>
- <?php
- header('content-type:text/html;charset=utf-8');
- //如果PHP设置的自动转义函数未开启,就转义这些值
- if(!get_magic_quotes_gpc()){
- foreach ($_POST as &$items){
- $items = addslashes($items);
- }
- }
- $name = $_POST['name'];
- $qq = $_POST['qq'];
- $email = $_POST['email'];
- $post = $_POST['post'];
- if($name==""||strlen($name)>10){
- echo <<<tem
- <script language="javascript">
- alert('请输入正确的有户名');
- history.go(-1);
- </script>
- tem;
- exit();
- }
- if($qq==""&&$email==""){
- echo <<<tem
- <script>
- alert('Email和QQ必须输入一个!');
- history.go(-1);
- </script>
- tem;
- exit();
- }
- if($qq!=""&&(!is_numeric($qq)||$qq>9999999999||$qq<=9999)){
- echo <<<tem
- <script>
- alert("请输入正确的QQ号码");
- history.go(-1);
- </script>
- tem;
- exit();
- }
- if($email!=""&&(!ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+",$email)||strlen($email)>60)){
- echo <<<tem
- <script>
- alert("请输入正确的Email");
- history.go(-1);
- </script>
- tem;
- exit();
- }
- if(strlen($post)>400){
- echo <<<tem
- <script>
- alert("输入的留言内容太长!");
- history.go(-1);
- </script>
- tem;
- exit();
- }
- //链接数据库
- $con=mysql_connect('localhost','root','root') or die('链接数据库失败!');
- mysql_query('set names utf8');
- mysql_select_db('GuestBook');
- //把客户信息插入guest表
- $insertSql="insert into guest (name,qq,email) values ('$name','$qq','$email')";
- if(mysql_query($insertSql)){
- $guestid = mysql_insert_id();
- }
- else{
- echo $insertSql;
- echo mysql_error();
- echo "数据插入失败!";
- exit();
- }
- //把以上插入取得的客户id和留言信息插入到post表中
- $post_time = time();
- $insertPostSql = "insert into post(guest_id,post,post_time) values('$guestid','$post','$post_time')";
- if(mysql_query($insertPostSql)){
- echo <<<tem
- <script>
- alert("留言成功");
- location.href="index.php";
- </script>
- tem;
- }
- else{
- echo <<<tem
- <script>
- alert("留言失败");
- location.href="index.php";
- </script>
- tem;
- }
- ?>
下面为后台管理管理的页面login.php
- <?php
- session_start();
- if(isset($_POST['Submit'])){
- if(!get_magic_quotes_gpc()){
- foreach ($_POST as &$items){
- $items = addslashes($items);
- }
- }
- if($_POST['username']=='phpiask'&&md5($_POST['password'])=='6dc88b87062a5de19895e952fa290dad'){
- $_SESSION['login']=true;
- echo "<script>alert('管理员登录成功');location.href='index.php';</script>";
- exit();
- }
- else {
- echo "<script>alert('登录失败!');</script>";
- }
- }
- ?>
- <!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=utf-8" />
- <title>无标题文档</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- <form action="login.php" method="POST" name="form1">
- 用户名:<input type="text" name="username" size="20"/>
- 密码:<input type="password" name="password" size="20">
- <input type="submit" value="登录" name="Submit"/>
- <input type="button" onclick="javascript:location.href='index.php'" value="放弃"/>
- </form>
- </td>
- </tr>
- </table>
- </body>
- </html>
删除留言的delete.php
- <?php
- session_start();
- header('content-type:text/html;charset=utf-8');
- $con=mysql_connect('localhost','root','root') or die('链接数据库失败!');
- mysql_query('set names utf8');
- mysql_select_db('GuestBook');
- if(!$_SESSION['login']){
- echo "<script>alert('权限不足!');location.href='index.php';</script>";
- exit();
- }
- if(isset($_GET['id'])&&$_GET['id']!=""){
- $delRevertSql="delete from revert where post_id=".$_GET['id'];
- mysql_query($delRevertSql);
- $delGuestSql="delete from guest where id = (select guest_id from post where id=".$_GET['id'].")";
- mysql_query($delGuestSql);
- $delPostSql="delete from post where id=".$_GET['id'];
- mysql_query($delPostSql);
- if(mysql_error()==""){
- echo "<script>alert('删除成功!');location.href='index.php';</script>";
- }
- }
- ?>
回复留言的revert.php文件
- <?php
- session_start();
- $con=mysql_connect('localhost','root','root') or die('链接数据库失败!');
- mysql_query('set names utf8');
- mysql_select_db('GuestBook');
- if(!$_SESSION['login']){
- echo "<script>alert('没有登录不能回复!');location.href='index.php';</script>";
- exit();
- }
- if($_POST['Submit']){
- if(!get_magic_quotes_gpc()){
- foreach ($_POST as $items){
- $items = addslashes($items);
- }
- }
- if(strlen($_POST['revert'])>400){
- echo "<script>alert('回复内容过长!');history.go(-1);</script>";
- exit();
- }
- $post_id = $_POST['post_id'];
- $revert = $_POST['revert'];
- $insertRevertSql = "insert into revert (post_id,revert,revert_time) value('$post_id','$revert','$time')";
- if(mysql_query($insertRevertSql)){
- echo "<script>alert('回复成功');location.href='index.php';</script>";
- exit();
- }
- else {
- echo "<script>alert('回复失败!');history.go(-1);</script>";
- }
- }
- ?>
- <!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=utf-8" />
- <title>无标题文档</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- <form action="revert.php" method="POST" name="form1">
- 回复内容:<textarea name="revert" cols="30" rows="5" id="revert"></textarea>
- <input type="hidden" name="post_id" value="<?php echo $_GET['id']?> "size="20">
- <input type="submit" value="回 复" name="Submit"/>
- <input type="button" onclick="javascript:history.go(-1);" value="放弃"/>
- </form>
- </td>
- </tr>
- </table>
- </body>
- </html>
新闻热点
疑难解答