发 帖  
原厂入驻New
[资料]

PHP文本式留言板(分享)

2017-6-28 13:44:00  2085 php
分享




  1. 功能:文本式留言板
  2. 包含文件:

  3. index.php                //留言页面

  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7.     <meta charset="utf-8"/>
  8.     <title>文本式留言板</title>
  9. </head>
  10. <body>
  11.     <center>
  12.         <h2>标题</h2>
  13.         <a href='index.php'>前去留言</a> |
  14.         <a href='show.php'>查看留言</a>
  15.         <hr/>
  16.         <?php date_default_timezone_set("PRC"); ?>
  17.         <form action="doAction.php?a=insert" method="post">
  18.             <table border='0' width='350'>
  19.                 <tr>
  20.                         <td align='right'>标题:</td>
  21.                         <td><input type="text" name="utitle" value=""/></td>
  22.                 </tr>
  23.                 <tr>
  24.                         <td align='right'>作者:</td>
  25.                         <td><input type="text" name="uname" value=""/></td>
  26.                 </tr>
  27.                 <tr>
  28.                         <td align='right'>留言内容:</td>
  29.                         <td><textarea name="ucontent" cols="30" rows="5"></textarea></td>
  30.                 </tr>
  31.                 <!--提交你的IP地址和留言时间-->
  32.                 <input type="hidden" name="uip" value="<?php echo $_SERVER["REMOTE_ADDR"] ?>"/>
  33.                 <input type="hidden" name="utime" value="<?php echo date("Y-m-d H:i:s",time()) ?>"/>
  34.                 <tr>
  35.                         <td colspan="2" align='center'>
  36.                                 <input type="submit" value="提交"/>
  37.                                 <input type="reset" value="重置"/>
  38.                         </td>
  39.                 </tr>
  40.             </table>
  41.         </form>
  42.     </center>
  43. </body>
  44. </html>

  45. doAction.php        //执行动作的页面

  46. <!DOCTYPE html>
  47. <html>
  48. <head>
  49.     <meta charset="utf-8"/>
  50.     <title>文本式留言板</title>
  51. </head>
  52. <body>
  53.     <center>
  54.         <h2>请留言</h2>
  55.         <a href='index.php'>前去留言</a> |
  56.         <a href='show.php'>查看留言</a>
  57.         <hr/>
  58.         <?php
  59.                 //执行动作页
  60.                
  61.             //根据用户的动作,执行相应的操作
  62.             switch($_GET['a']){
  63.                     case "insert":        //执行留言添加的动作
  64.                     
  65.                             //判断用户是否提交了空数据
  66.                             if(empty($_POST['utitle']) || empty($_POST['uname']) || empty($_POST['ucontent'])){
  67.                                     echo "<a href='{$_SERVER['HTTP_REFERER']}'>返回上一级</a>";
  68.                                     die("对不起,不能提交空数据,请检查!");
  69.                             }
  70.                            
  71.                             //将用户提交过来的信息,按##拼装成字符串
  72.                             $contents = implode("##",$_POST)."@@";
  73.                            
  74.                             //将拼装好的信息,写入ly.txt文档
  75.                             file_put_contents("ly.txt",$contents,FILE_APPEND);
  76.                            
  77.                             //提示用户,留言成功
  78.                             echo "恭喜,留言成功!";
  79.                             echo "<a href='show.php'>返回上一级</a>";
  80.                            
  81.                     break;
  82.                     
  83.                     case "delete":        //执行留言删除的动作
  84.                            
  85.                             //获取你要进行删除的留言的id(下标)号
  86.                             $id = $_GET['id'];
  87.                            
  88.                             //获取留言文档当中的所有内容
  89.                             $contents = file_get_contents("ly.txt");
  90.                            
  91.                             //先把右侧的多余的@@去除掉
  92.                             $contents = rtrim($contents,"@@");
  93.                            
  94.                             //按@@将每一条留言拆分出来!
  95.                             $list = explode("@@",$contents);
  96.                            
  97.                             //删除掉指定下标的留言内容
  98.                             unset($list[$id]);
  99.                            
  100.                             //判断是否文档当中的留言信息删完了
  101.                             if(!empty($list)){
  102.                            
  103.                                     //将拆分好的数组再拼装回去
  104.                                     $contents = implode("@@",$list)."@@";
  105.                                     
  106.                                     //将拼装好的数据再写回去
  107.                                     file_put_contents("ly.txt",$contents);
  108.                                     
  109.                             }else{
  110.                                     
  111.                                     //如果清空了,那么需要把文本文档置空
  112.                                     file_put_contents("ly.txt","");
  113.                                     
  114.                             }
  115.                             //告知用户,删除成功!
  116.                             echo "恭喜,删除成功!";
  117.                             echo "<a href='show.php'>返回查看</a>";
  118.                            
  119.                     break;
  120.                     
  121.                     case "update":        //执行留言修改的动作
  122.                     
  123.                             //获取进行修改的留言的id(下标)
  124.                             $id = $_GET['id'];
  125.                            
  126.                             //将修改后的留言信息拼装为一个字符串
  127.                             $newContents = implode("##",$_POST);
  128.                            
  129.                             //将所有留言的内容,从留言板txt文档中取出来
  130.                             $oldContents = file_get_contents("ly.txt");
  131.                            
  132.                             //去掉右侧多余的@@
  133.                             $oldContents = rtrim($oldContents,"@@");
  134.                            
  135.                             //先将文档中取出的字符串拆分成数组
  136.                             $list = explode("@@",$oldContents);
  137.                            
  138.                             //执行替换
  139.                             $list[$id]=$newContents;
  140.                            
  141.                             //将拆分好的数组,再拼装回字符串
  142.                             $contents = implode("@@",$list)."@@";
  143.                            
  144.                             //将修改好的数据重新写回文本文档
  145.                             file_put_contents("ly.txt",$contents);
  146.                            
  147.                             //告诉用户修改成功!
  148.                             echo "恭喜,修改成功!";
  149.                             echo "<a href='show.php'>返回查看</a>";
  150.                            
  151.                     break;
  152.             }
  153.         ?>
  154.     </center>
  155. </body>
  156. </html>

  157. ly.txt                        //存储留言信息的文本文档

  158. show.php                //展示留言页面

  159. <!DOCTYPE html>
  160. <html>
  161. <head>
  162.     <meta charset="utf-8"/>
  163.     <title>文本式留言板</title>
  164. </head>
  165. <body>
  166.     <center>
  167.         <h2>查看留言</h2>
  168.         <a href='index.php'>前去留言</a> |
  169.         <a href='show.php'>查看留言</a>
  170.         <hr/>
  171.         <table border='1' width='1300'>
  172.                 <tr>
  173.                     <th>标题</th>
  174.                     <th>作者</th>
  175.                     <th>留言内容</th>
  176.                     <th>IP地址</th>
  177.                     <th>留言时间</th>
  178.                     <th>操作</th>
  179.                 </tr>
  180.                 <?php
  181.                     //读取ly.txt所有的留言内容
  182.                     $contents = file_get_contents("ly.txt");
  183.                     
  184.                     //去掉右侧多余的两个@@
  185.                     $contents = rtrim($contents,"@@");
  186.                     
  187.                     //将留言的字符串内容使用@@进行拆分
  188.                     $list = explode("@@",$contents);
  189.                     
  190.                     //判断文档当中是否还有留言信息
  191.                     if($list[0]!=""){
  192.                             //将每一条留言遍历拆分,放入表格当中
  193.                             foreach($list as $key=>$value){
  194.                                     
  195.                                     $list = explode("##",$value);
  196.                                     
  197.                                     echo "<tr align='center'>";
  198.                                             echo "<td>{$list[0]}</td>";
  199.                                             echo "<td>{$list[1]}</td>";
  200.                                             echo "<td>{$list[2]}</td>";
  201.                                             echo "<td>{$list[3]}</td>";
  202.                                             echo "<td>{$list[4]}</td>";
  203.                                             echo "<td>
  204.                                                               <a href='edit.php?id={$key}'>编辑</a>
  205.                                                               <a href='doAction.php?a=delete&id={$key}'>删除</a>
  206.                                                       </td>";
  207.                                     echo "</tr>";
  208.                             }
  209.                     }else{
  210.                            
  211.                             //此时,文档当中的数据已经删完了
  212.                             echo "<tr align='center'>";
  213.                                     echo "<td colspan='6'>没有查到任何数据!</td>";
  214.                             echo "</tr>";
  215.                            
  216.                     }
  217.                 ?>
  218.         </table>
  219.     </center>
  220. </body>
  221. </html>

  222. edit.php                //修改留言的页面

  223. <!DOCTYPE html>
  224. <html>
  225. <head>
  226.     <meta charset="utf-8"/>
  227.     <title>文本式留言板</title>
  228. </head>
  229. <body>
  230.     <center>
  231.         <h2>编辑留言信息</h2>
  232.         <a href='index.php'>前去留言</a> |
  233.         <a href='show.php'>查看留言</a>
  234.         <hr/>
  235.         <?php
  236.             date_default_timezone_set("PRC");
  237.             
  238.             //获取要修改的留言的下标信息
  239.             $id = $_GET['id'];
  240.             
  241.             //获取留言板中的所有信息
  242.             $contents = file_get_contents("ly.txt");
  243.             
  244.             //去除留言信息最后的@@
  245.             $contents = rtrim($contents,"@@");
  246.             
  247.             //先将留言信息进行拆分
  248.             $list = explode("@@",$contents);
  249.             
  250.             //再次将一条留言信息的每个内容拆分出来
  251.             $list = explode("##",$list[$id]);
  252.         ?>
  253.         <form action="doAction.php?a=update&id=<?php echo $id ?>" method="post">
  254.             <table border='0' width='350'>
  255.                     <tr>
  256.                             <td align='right'>标题:</td>
  257.                             <td><input type="text" name="utitle" value="<?php echo $list[0] ?>"/></td>
  258.                     </tr>
  259.                     <tr>
  260.                             <td align='right'>作者:</td>
  261.                             <td><input type="text" name="uname" value="<?php echo $list[1] ?>"/></td>
  262.                     </tr>
  263.                     <tr>
  264.                             <td align='right'>留言内容:</td>
  265.                             <td><textarea name="ucontent" cols="30" rows="5"><?php echo $list[2] ?></textarea></td>
  266.                     </tr>
  267.                     <!--提交你的IP地址和留言时间-->
  268.                     <input type="hidden" name="uip" value="<?php echo $_SERVER["REMOTE_ADDR"] ?>"/>
  269.                     <input type="hidden" name="utime" value="<?php echo date("Y-m-d H:i:s",time()) ?>"/>
  270.                     <tr>
  271.                             <td colspan="2" align='center'>
  272.                                     <input type="submit" value="提交"/>
  273.                                     <input type="reset" value="重置"/>
  274.                             </td>
  275.                     </tr>
  276.             </table>
  277.         </form>
  278.     </center>
  279. </body>
  280. </html>

复制代码


如有疑问 欢迎探讨:2326308699
0
分享淘帖 显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
快速回复 返回顶部 返回列表