php之文本式留言本


实例:文本式留言板
需要知识点:
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

<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>>
menu.php

 <h1>我的留言板</h1>
    <a href="index.php">添加留言</a>|
    <a href="show.php">查看留言</a>
    <hr width="90%"/>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值