php实例:实现简单留言板功能

2017年12月5日21:52:07 1 122

在学习php的过程中,我最喜欢的就是找一些php的实例来练习,下面是一个php实现留言板功能,涉及到的知识点有文件操作、字符串操作和数组相关知识,具体实现的效果是下图,不要在意美观度,我们学习后端要注重实用性,美观那是前端干的事。

php实例:实现简单留言板功能
php实例:实现简单留言板功能

我们来看看具体的文件目录:

  • 添加留言界面
  • 获取留言
  • show.php : 显示留言信息
  • del.php : 删除留言
  • liuyan.txt : 储存留言的txt文本
  • index.php代码class="brush:html;toolbar:false"><html>  
    <head>
    <meta charset="utf-8"> 
    <title>我的留言板</title>  
    </head>  
    <body>  
    <center>  
     <h2>我的留言板</h2>  
    <a href = "index.php">添加留言</a>  
    <a href = "show.php" >查看留言</a>  
    <hr width = "90%">  
    <h3>添加留言</h3>  
    <form action = "doAdd.php" method = "post">  
     <table width = "380" border = "0" cellpadding = "4">  
    <!--       <tr>  
                 <td  align = "right">标题:</td>  
                 <td><input type = "text" name = "title"></td>  
         </tr> -->  
          <tr>  
                 <td  align = "right">留言者:</td>  
                 <td><input type = "text" name = "author"></td>  
         </tr>  
         <tr>  
                 <td align = "right" valign = "top">留言内容:</td>  
                 <td><textarea name = "content" row = "5" cols = "30"></textarea></td>  
         </tr>  
          <tr>  
                    
             <td colspan = "2" align = "center"><input type = "submit" value = "提交">  
                                       <input type = "reset" value = "重置"></td>  
         </tr></table>  
    </form>  
    </center>  
      
    </body>  
    </html>doapp.php代码

<html>  
<head>
<meta charset="utf-8"> 
<title>我的留言板</title>  
</head>  
<body>  
<center>  
 <h2>我的留言板</h2>  
<a href = "index.php">添加留言</a>  
<a href = "show.php" >查看留言</a>  
<hr width = "90%">  
<h3>添加留言</h3>  
 <?php  
    //执行留言信息添加操作  
//1.获取要添加的留言信息,并补上其他辅助信息(ip地址、添加时间)  

$author = $_POST["author"];  
$content = $_POST["content"];  
$ip = $_SERVER["REMOTE_ADDR"];  
$addtime = time();  
//2.拼装留言信息  
$ly = "{$title}##{$author}##{$content}##{$ip}##{$addtime}@@@";  
//echo $ly;  
//3. 将留言添加到liuyan.txt文件中  
$info = file_get_contents("liuyan.txt");  
file_put_contents("liuyan.txt",$info.$ly);  
echo "</br>";  
//file_put_contents("liuyan.txt",$ly); 直接输出会覆盖上一条留言!  
//4.输出留言成功!  
echo "留言成功!";  
  
 ?>  
</center>  
  
</body>  
</html>

show.php代码

<html>  
<head>
<meta charset="utf-8">   
<title>我的留言板</title>  
<script>  
function dodel(id){  
  if(confirm("确定要删除么?"))  
  {  
    window.location ='del.php?id='+id;   
  }  
}  
</script>  
</head>  
<body>  
<center>  
 <h2>我的留言板</h2>  
<a href = "index.php">添加留言</a>  
<a href = "show.php" >查看留言</a>  
<hr width = "90%">  
<h3>查看留言</h3>  
 <table border = "1" width = "700" >  
     <tr>   
           <th>留言人</th>  
           <th>留言内容</th>  
       <th>IP地址</th>  
 <th>留言时间</th>  
 <th>操作</th>  
    </tr>  
<?php  
  // 获取留言信息,解析后输出到表格中  
// 1.从留言liuyan.txt中获取留言信息  
  $info = file_get_contents("liuyan.txt");  
  // 2.去除留言内容最后的三个@@@符号  
  $info = rtrim($info,"@");  
  if(strlen($info)>=8){  
  // 3.以@@@符号拆分留言信息为一条一条的(将留言信息以@@@符号拆分成留言数组)  
  $lylist = explode("@@@",$info);  
     
  // 4.遍历留言信息数组,对每条留言做再次解析;  
  foreach($lylist as $k=>$v){  
   $ly = explode("##",$v);  
   echo "<tr>";   
   echo "<td>{$ly[1]}</td>";  
   echo "<td>{$ly[2]}</td>";  
   echo "<td>{$ly[3]}</td>";  
   echo "<td>".date("Y-m-d H:i:s",$ly[4])."</td>";  
     echo "<td><a href = 'javascript:dodel({$k})'>删除</a></td>";  
   
  }  
  }  
     
?>  
</center>  
  
</body>  
</html>

del.php代码

<html>  
<head>
<meta charset="utf-8">   
<title>我的留言板</title>  
</head>  
<body>  
<center>  
 <h2>我的留言板</h2>  
<a href = "index.php">添加留言</a>  
<a href = "show.php" >查看留言</a>  
<hr width = "90%">  
<h3>删除留言</h3>  
   
<?php  
//1. 获取要删除留言号  
$id = $_GET["id"];  
// 2.从留言liuyan.txt中获取留言信息  
  $info = file_get_contents("liuyan.txt");  
   
  //3.(将留言信息以@@@符号拆分成留言数组)  
  $lylist = explode("@@@",$info);  
  //4.使用unset删除指定的id留言  
  unset($lylist[$id]);  
  //还原留言信息为字串,并写回留言文件  
  $newinfo = implode("@@@",$lylist);  
  file_put_contents("liuyan.txt",$newinfo);  
  echo "删除成功!";  
  
   
     
?>  
</center>  
  
</body>  
</html>

猿梦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar php小菜鸡 这家伙可能用了岛国的代理 谷歌浏览器 Windows 10 0

      不好意思我想请问下,假如我想在里面加一个更改留言的功能要怎么操作呢?如果能得到解答会十分感谢