实
需要知识点:
1、文件操作:
file_put_content(文件名,内容);文件内容的写入函数(覆盖式写入文件)
file_get_content(文件名);文件的内容获取函数
2.字符串的处理函数
返回数组explode(分隔符,字符串);j将字串拆分成数组的函数
返回字串implode(分割符,数组);将数组以指定分隔符并成字串函数
3.数组
foreach()遍历数组的
unset()销毁变量。
$_POST[]
$_SERVER["REMOTE_ADDR"];//获取客户端的IP地址
time();//获取当前系统的时间戳
date();日期转换函数
示例的目录结构:
==================================
|--index.php添加留言信息界面
|
|--doAdd.php 获取留言信息,并执行添加操作的PHP文件
|
|--show.php显示留言界面
|
|--del.php执行删除留言信息的php文件
|
|--liuyan.text用于储存留言信息的文件
|
|--menu.php留言信息的导航栏
|
index.php
<html> <head> <title>文本式留言板</title> </head> <body> <center> <?php include("menu.php");//导入留言信息的导航栏?> <h3>添加留言</h3> <table border="0" width="350"> <form action="doAdd.php" method="post"> <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" rows="5" cols="30"></textarea></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="提交留言"/> <input type="reset" value="重置"></td> </tr> </form> </table> </center> </body> </html>>
doAdd.php<html> <head> <title>文本式留言板</title> </head> <body> <center> <?php include("menu.php");//导入留言信息的导航栏?> <h3>添加留言</h3> <?php //执行留言添加操作 //1.获取要添加的留言信息、并且补上其他留言信息(ip地址,留言时间) $title = $_POST["title"]; //获取留言标题 $author = $_POST["author"]; //获取留言者 $content = $_POST["content"];//获取留言内容 $ip = $_SERVER["REMOTE_ADDR"];; //获取留言IP地址$_SERVER["REMOTE_ADDR"]; $addtime = time(); //2.拼装留言信息,每条留言信息之内的项目以##分割,每条留言之间以@@@分隔 $ly = "{$title}##{$author}##{$content}##{$ip}##{$addtime}@@@"; //echo "$ly"; //3.将留言信息添加到liuyan.text文件中 $info=file_get_contents("liuyan.txt"); file_put_contents("liuyan.txt",$info.$ly); //4.输出留言成功 echo "留言成功!谢谢"; ?> </center> </body> </html>>
show.php
<html> <head> <title>文本式留言板</title> <script> //定义一个询问是否删除的 js function dodel(id){ if(confirm("确定要删除吗?")) { window.location='del.php?id='+id } } </script> </head> <body> <center> <?php include("menu.php");//导入留言信息的导航栏?> <h4>查看留言</h4> <table border="1" width="600"> <tr> <td>留言标题</td> <td>留言者</td>> <td>留言内容</td> <td>留言IP地址</td> <td>留言时间</td> <td>操作</td> </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[0]}</td>"; 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]+8*3600)."</td>"; echo "<td><a href='javascript:dodel({$k})'>删除</a></td>";//url传值 echo"</tr>"; //echo $v."<br/>"; } } ?> </table> </center> </body> </html>
del..php
menu.php<html> <head> <title>文本式留言板</title> </head> <body> <center> <?php include("menu.php");//导入留言信息的导航栏?> <h3>删除留言</h3> <?php //执行删除指定id的信息 //1、获取要删除留言的id号 $id = $_GET["id"]; // $info = file_get_contents("liuyan.txt"); //3、将组留言信息以@@@分隔成留言数组 $lylist = explode("@@@",$info); //4、使用unset删除指定id的留言 unset($lylist[$id]); //5、还原留言信息为字符串,并写回原文件:liuyan.txt $ninfo = implode("@@@",$lylist); file_put_contents("liuyan.txt",$ninfo); //输出留言成功 echo "删除成功!!!"; ?> </table> </center> </body> </html>>
<h1>我的留言板</h1> <a href="index.php">添加留言</a>| <a href="show.php">查看留言</a> <hr width="90%"/>