首页 > 开发 > PHP > 正文

php简易留言板程序代码

2024-05-04 23:06:16
字体:
来源:转载
供稿:网友

这是一个最基础的留言板程序了,但是己经有了留言板程序基本功能,很适合于php初学者用用,学习用啊,当然也可以用于企业网站也是很不错的哦。

index.php

  1. <?php 
  2. session_start(); 
  3. $con=mysql_connect('localhost','root','root'or die('链接数据库失败!'); 
  4. mysql_query('set names utf8'); 
  5. mysql_select_db('GuestBook'); 
  6. $pagesize = 10;//每一页显示多少留言记录 
  7. if(isset($_GET['page'])&&$_GET['page']!=''$page=$_GET['page']; 
  8. else $page=0; 
  9. $sql = "SELECT a . * , b.name, b.email, b.qq, c.revert_time, c.revert 
  10.   FROM post a 
  11.   LEFT JOIN revert c ON ( a.id = c.post_id ) , guest b 
  12.   WHERE a.guest_id = b.id 
  13.   ORDER BY a.id DESC"; 
  14. $numRecord = mysql_num_rows(mysql_query($sql)); 
  15. $totalpage = ceil($numRecord/$pagesize); 
  16. $recordSql = $sql" LIMIT ".$page*$pagesize.",".$pagesize
  17. $result = mysql_query($recordSql); 
  18. ?> 
  19. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  20. <html xmlns="http://www.w3.org/1999/xhtml"
  21. <head> 
  22. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  23. <title>PHPiask简易留言板</title> 
  24. <style type="text/css"
  25. <!-- 
  26. body { 
  27.  margin-left: 0px; 
  28.  margin-top: 0px; 
  29. a:link { 
  30.  text-decoration: none; 
  31.  color: #FF6600; 
  32. a:visited { 
  33.  text-decoration: none; 
  34. a:hover { 
  35.  text-decoration: underline; 
  36. a:active { 
  37.  text-decoration: none; 
  38. .STYLE1 { 
  39.  color: #FFFFFF; 
  40.  font-weight: bold; 
  41.  font-size: 16px; 
  42. td{ 
  43. font-size:12px; 
  44. .tdhx { 
  45.  font-style: italic; 
  46.  line-height: 1.5; 
  47.  text-decoration: underline; 
  48. --> 
  49. </style> 
  50. <script language="javascript"
  51. function checkInput(){ 
  52.  var Email = document.getElementById('email'); 
  53.  var QQ = document.getElementById('qq'); 
  54.  var name = document.getElementById('name'); 
  55.  var post = document.getElementById('post'); 
  56.  //验证用户名:不能超过10个字符(5个汉字),不能输入非法字符,不能为空 
  57.  nameValue = name.value.replace(/s+/g,""); 
  58.  var SPECIAL_STR = "~!%^&*();"?><[]{}/|,:/=+—"; 
  59.  var nameflag=true; 
  60.  for(i=0;i<nameValue.lenght;i++){ 
  61.   if (SPECIAL_STR.indexOf(nameValue.charAt(i)) !=-1) 
  62.   nameflag=false; 
  63.  } 
  64.  if(nameValue==''){ 
  65.   alert('请填写用户名称!');  
  66.   return false; 
  67.  } 
  68.  if(nameValue.length>10){ 
  69.   alert('用户名称最多10个字符(5个汉字)!'); 
  70.   return false; 
  71.  } 
  72.   
  73.  if(nameflag===false){ 
  74.   alert('用户名称不能包含非法字符请更改!'); 
  75.   return false; 
  76.  } 
  77.  //验证QQ号码 
  78.  var par =/^[1-9]d{4,12}$/; 
  79.  if(QQ.value!=''&&!par.test(QQ.value)){ 
  80.   alert('请输入正确的QQ号码'); 
  81.   return false; 
  82.  } 
  83.  //验证Email地址 
  84.  var emailpar = /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/; 
  85.  if(Email.value!=''&&!emailpar.test(Email.value)){ 
  86.   alert('请输入正确的邮箱地址!'); 
  87.   return false; 
  88.  } 
  89.  if(QQ.value==''&&Email.value==''){ 
  90.   alert('邮箱和QQ必选其一'); 
  91.   return false;   
  92.  } 
  93.  if(post.value==""){ 
  94.   alert('请输入留言内容!'); 
  95.   return false;    
  96.  } 
  97.  if(post.value.length>400){ 
  98.   alert('留言内容太长!'); 
  99.   return false;    
  100.  } 
  101. </script> 
  102. </head> 
  103. <body> 
  104. <table width="800" border="0" align="center"
  105.   <tr> 
  106.     <td height="80" bgcolor="#003366"><span class="STYLE1"> 简易留言板教程(<a href="http://www.phpiask.com">PHP iask</a>)</span></td> 
  107.   </tr> 
  108.   <tr> 
  109.     <td height="5" bgcolor="#efefef"></td> 
  110.   </tr> 
  111. </table> 
  112. <table width="800" border="0" align="center" bgcolor="#fefefe"
  113. <?php 
  114. while($rs=mysql_fetch_object($result)){ 
  115. ?> 
  116.   <tr> 
  117.     <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> 
  118.   </tr> 
  119.   <?php 
  120.   if(isset($_SESSION['login'])&&$_SESSION['login']){ 
  121.   ?> 
  122.     <tr> 
  123.     <td class="tdhx"><a href="revert.php?id=<?php echo $rs->id?>">回复</a> | <a href="delete.php?id=<?php echo $rs->id?>">删除</a></td> 
  124.   </tr> 
  125.   <?php 
  126.   } 
  127.   ?> 
  128.   <tr> 
  129.     <td>留言内容:<?php echo nl2br(htmlspecialchars($rs->post))?><br/> 
  130.     <font color="Red"
  131.     回复内容:<?php echo nl2br(htmlspecialchars($rs->revert))?>[<?php if($rs->revert_time!=""echo date("Y-m-d H:i:s",$rs->revert_time+8*3600)?> ] 
  132.     </font> 
  133.      
  134.     </td> 
  135.   </tr> 
  136.   <tr><td height="3px"  bgcolor="##FF6600"></td></tr> 
  137. <?php 
  138. ?> 
  139. </table> 
  140. <table width="800" border="0" align="center" bgcolor="#B1C3D9"
  141.   <tr> 
  142.     <td > 
  143. <?php  
  144. if($page>0) echo "<a href='index.php?page=".($page-1)."'>上一页|</a>" ; 
  145. if($page<$totalpage-1) echo "<a href='index.php?page=".($page+1)."'>下一页</a>" ; 
  146. ?></td> 
  147.   </tr> 
  148. </table><form action="post.php" method="post" id="postForm" name="postForm"
  149. <table width="800" border="0" align="center" cellspacing="1" bgcolor="#efefef"
  150.    
  151.   <tr> 
  152.     <td width="117" bgcolor="#FFFFFF">姓名:</td> 
  153.     <td width="673" bgcolor="#FFFFFF"><label> 
  154.       <input type="text" name="name" id="name" /> 
  155.     </label></td> 
  156.   </tr> 
  157.   <tr> 
  158.     <td bgcolor="#FFFFFF">Email:</td> 
  159.     <td bgcolor="#FFFFFF"><label> 
  160.       <input type="text" name="email" id="email" /> 
  161.     </label></td> 
  162.   </tr> 
  163.   <tr> 
  164.     <td bgcolor="#FFFFFF">QQ:</td> 
  165.     <td bgcolor="#FFFFFF"><label> 
  166.       <input type="text" name="qq" id="qq"/> 
  167.     </label></td> 
  168.   </tr> 
  169.   <tr> 
  170.     <td colspan="2" bgcolor="#FFFFFF">留言内容:</td> 
  171.   </tr> 
  172.   <tr> 
  173.     <td colspan="2" bgcolor="#FFFFFF"><label> 
  174.       <textarea name="post" id="post" cols="40" rows="5"></textarea> 
  175.     </label></td> 
  176.   </tr> 
  177.   <tr> 
  178.     <td colspan="2" bgcolor="#FFFFFF"><label> 
  179.       <input type="submit" name="Submit" value="提交" onclick="return checkInput();"/> 
  180.       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  181.       <input type="reset" name="Submit2" value="重置" /> 
  182.     </label><a href="login.php">管理员登录</a></td> 
  183.   </tr> 
  184. </table></form> 
  185. </body> 
  186. </html> 

 

post.php文件
  1. <?php 
  2. header('content-type:text/html;charset=utf-8'); 
  3. //如果PHP设置的自动转义函数未开启,就转义这些值 
  4. if(!get_magic_quotes_gpc()){ 
  5.  foreach ($_POST as &$items){ 
  6.   $items = addslashes($items); 
  7.  } 
  8. $name = $_POST['name']; 
  9. $qq = $_POST['qq']; 
  10. $email = $_POST['email']; 
  11. $post = $_POST['post']; 
  12. if($name==""||strlen($name)>10){ 
  13.  echo <<<tem 
  14.  <script language="javascript"
  15.  alert('请输入正确的有户名'); 
  16.  history.go(-1); 
  17.  </script> 
  18. tem; 
  19. exit(); 
  20. if($qq==""&&$email==""){ 
  21.  echo <<<tem 
  22.  <script> 
  23.  alert('Email和QQ必须输入一个!'); 
  24.  history.go(-1); 
  25.  </script> 
  26. tem; 
  27. exit(); 
  28. if($qq!=""&&(!is_numeric($qq)||$qq>9999999999||$qq<=9999)){ 
  29.  echo <<<tem 
  30.  <script> 
  31.  alert("请输入正确的QQ号码"); 
  32.  history.go(-1); 
  33.  </script> 
  34. tem; 
  35. exit(); 
  36. if($email!=""&&(!ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+",$email)||strlen($email)>60)){ 
  37.  echo <<<tem 
  38.  <script> 
  39.  alert("请输入正确的Email"); 
  40.  history.go(-1); 
  41.  </script> 
  42. tem; 
  43. exit(); 
  44. if(strlen($post)>400){ 
  45.  echo <<<tem 
  46.  <script> 
  47.  alert("输入的留言内容太长!"); 
  48.  history.go(-1); 
  49.  </script> 
  50. tem; 
  51. exit(); 
  52. //链接数据库 
  53. $con=mysql_connect('localhost','root','root'or die('链接数据库失败!'); 
  54. mysql_query('set names utf8'); 
  55. mysql_select_db('GuestBook'); 
  56. //把客户信息插入guest表 
  57. $insertSql="insert into guest (name,qq,email) values ('$name','$qq','$email')"
  58. if(mysql_query($insertSql)){ 
  59.  $guestid = mysql_insert_id(); 
  60. else
  61.  echo $insertSql
  62.  echo mysql_error(); 
  63.  echo "数据插入失败!"
  64.  exit(); 
  65. //把以上插入取得的客户id和留言信息插入到post表中 
  66. $post_time = time(); 
  67. $insertPostSql = "insert into post(guest_id,post,post_time) values('$guestid','$post','$post_time')"
  68. if(mysql_query($insertPostSql)){ 
  69.  echo <<<tem 
  70.  <script> 
  71.  alert("留言成功"); 
  72.  location.href="index.php"
  73.  </script> 
  74. tem; 
  75. else
  76.  echo <<<tem 
  77.  <script> 
  78.  alert("留言失败"); 
  79.  location.href="index.php"
  80.  </script> 
  81. tem; 
  82. ?> 

下面为后台管理管理的页面login.php

  1. <?php 
  2. session_start(); 
  3. if(isset($_POST['Submit'])){ 
  4.  if(!get_magic_quotes_gpc()){ 
  5.   foreach ($_POST as &$items){ 
  6.    $items = addslashes($items); 
  7.   } 
  8.  } 
  9.  if($_POST['username']=='phpiask'&&md5($_POST['password'])=='6dc88b87062a5de19895e952fa290dad'){ 
  10.   $_SESSION['login']=true; 
  11.   echo "<script>alert('管理员登录成功');location.href='index.php';</script>"
  12.   exit(); 
  13.  } 
  14.  else { 
  15.   echo "<script>alert('登录失败!');</script>"
  16.  } 
  17. ?> 
  18. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  19. <html xmlns="http://www.w3.org/1999/xhtml"
  20. <head> 
  21. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  22. <title>无标题文档</title> 
  23. </head> 
  24. <body> 
  25. <table> 
  26. <tr> 
  27. <td> 
  28. <form action="login.php" method="POST" name="form1"
  29. 用户名:<input type="text" name="username" size="20"/> 
  30. 密码:<input type="password" name="password" size="20"
  31. <input type="submit" value="登录" name="Submit"/> 
  32. <input type="button" onclick="javascript:location.href='index.php'" value="放弃"/> 
  33. </form> 
  34. </td> 
  35. </tr> 
  36. </table> 
  37. </body> 
  38. </html> 

删除留言的delete.php

  1. <?php 
  2. session_start(); 
  3. header('content-type:text/html;charset=utf-8'); 
  4. $con=mysql_connect('localhost','root','root'or die('链接数据库失败!'); 
  5. mysql_query('set names utf8'); 
  6. mysql_select_db('GuestBook'); 
  7. if(!$_SESSION['login']){ 
  8.  echo "<script>alert('权限不足!');location.href='index.php';</script>"
  9.  exit(); 
  10. if(isset($_GET['id'])&&$_GET['id']!=""){ 
  11.  $delRevertSql="delete from revert where post_id=".$_GET['id']; 
  12.  mysql_query($delRevertSql); 
  13.   
  14.  $delGuestSql="delete from guest where id = (select guest_id from post where id=".$_GET['id'].")"
  15.  mysql_query($delGuestSql); 
  16.   
  17.  $delPostSql="delete from post where id=".$_GET['id']; 
  18.  mysql_query($delPostSql); 
  19.   
  20.  if(mysql_error()==""){ 
  21.   echo "<script>alert('删除成功!');location.href='index.php';</script>"
  22.  } 
  23. ?> 

回复留言的revert.php文件

  1. <?php 
  2. session_start(); 
  3. $con=mysql_connect('localhost','root','root'or die('链接数据库失败!'); 
  4. mysql_query('set names utf8'); 
  5. mysql_select_db('GuestBook'); 
  6. if(!$_SESSION['login']){ 
  7.  echo "<script>alert('没有登录不能回复!');location.href='index.php';</script>"
  8.  exit(); 
  9. if($_POST['Submit']){ 
  10.  if(!get_magic_quotes_gpc()){ 
  11.   foreach ($_POST as $items){ 
  12.    $items = addslashes($items); 
  13.   } 
  14.  } 
  15.  if(strlen($_POST['revert'])>400){ 
  16.   echo "<script>alert('回复内容过长!');history.go(-1);</script>"
  17.   exit(); 
  18.  } 
  19.  $post_id = $_POST['post_id']; 
  20.  $revert = $_POST['revert']; 
  21.  $insertRevertSql = "insert into revert (post_id,revert,revert_time) value('$post_id','$revert','$time')"
  22.  if(mysql_query($insertRevertSql)){ 
  23.   echo "<script>alert('回复成功');location.href='index.php';</script>"
  24.   exit(); 
  25.  } 
  26.  else { 
  27.   echo "<script>alert('回复失败!');history.go(-1);</script>"
  28.  } 
  29. ?> 
  30. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  31. <html xmlns="http://www.w3.org/1999/xhtml"
  32. <head> 
  33. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  34. <title>无标题文档</title> 
  35. </head> 
  36. <body> 
  37. <table> 
  38. <tr> 
  39. <td> 
  40. <form action="revert.php" method="POST" name="form1"
  41. 回复内容:<textarea name="revert" cols="30" rows="5" id="revert"></textarea> 
  42. <input type="hidden" name="post_id" value="<?php echo $_GET['id']?> "size="20"
  43. <input type="submit" value="回 复" name="Submit"/> 
  44. <input type="button" onclick="javascript:history.go(-1);" value="放弃"/> 
  45. </form> 
  46. </td> 
  47. </tr> 
  48. </table> 
  49. </body> 
  50. </html>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表