PHP初步----留言版项目

1.项目描述

在Appache、MySQL、PHP环境下,用Appache作为服务器,客户机可以在局域网下实现对网站的访问。访问者可以添加留言、查看留言、删除留言。添加的内容将会写入项目目录下的liuyan.txt文件中。文件结构如下:

 
PHP初步----留言版项目_第1张图片

其中,index.php是导航页,doAdd.php是添加留言的页面,show.php是显示所有留言的页面,del.php是删除留言的页面,menu.php是导航栏的页面,liuyan.txt是暂时保存留言内容的地方,网页上的留言信息也从这里读取。各种页面的预览效果如下:

导航页,也是添加留言的页面:

PHP初步----留言版项目_第2张图片

显示留言的页面:


PHP初步----留言版项目_第3张图片  2.具体实现:

index.php

 

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type"content="text/html; charset=gb2312"><!--设置编码格式,所有文件全部要保持一致,并且要和浏览器的解析方式保持一致,否则会乱码-->
		<title>我的留言板</title>
	</head>
	<body>
		<center>
			<?php include("menu.php");//导入网站的导航栏?>
		<!--这是所有网页的导航栏,把它作为单独的一部分封装在一个php文件中,也就是menu.php-->
			<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" rows="5" cols="30"></textarea></td>
					</tr>
					<tr>
						<td colspan="2" align="center">
							<input type="submit" value="提交"/>&nbsp;&nbsp;&nbsp;&nbsp;<!---->
							<input type="reset" value="重置"/>
						</td>
					</tr>
				</table>
			</form>
		</center>
	</body>
</html>

 

 

 

doAdd.php

 

<html>
	<head>
	<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
		<title>我的留言板</title>
	</head>
	<body>
		<center>
			<?php include("menu.php");//导入网站的导航栏?>
			
			<h3>添加留言</h3>
		
			<?php
			//1.获取要添加的留言信息,并且补上其他辅助信息  ip地址,添加时间
			//2.拼装留言信息,组装
			//3.将留言信息追加到留言。txt文件中
			//4.输出留言成功
			
			$title = $_POST ["title"];
			$author = $_POST["author"];
			$content = $_POST["content"];
			$ip= $_SERVER["REMOTE_ADDR"];
			$addtime=time();
			
			$ly="$title##$author##$content##$ip##$addtime@@@";
			//echo  $ly;
			$info=file_get_contents("liuyan.txt");
			file_put_contents("liuyan.txt",$info.$ly);//覆盖式的写入,覆盖原有的数据
			echo "留言成功!谢谢!";
			
			?>
		</centerr>
	</body>
</html>

 show.php

 

 

<html>
	<head>
	<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
		<title>我的留言板</title>
		<script>
			function dodel(id){
				if(confirm("确定要删除吗?")){
					window.location="del.php?id="+id;
				}
			}
		</script>
	</head>
	<body>
		<center>
			<?php include("menu.php");//导入网站的导航栏?>
			
			<h3>查看留言</h3>
			<table border="1" width="700">
				<tr>
					<th>留言标题</th>
					<th>留言人</th>
					<th>留言内容</th>
					<th>IP地址</th>
					<th>留言时间</th>
					<th>操作</th>
				</tr>
			
			<?php
			//1.从liuyan.txt信息文件中获取留言信息
			//2.去除留言内容最后的@@@
			//3.以@@@符号拆分留言信息为一条一条的,将留言信息@@@符号拆分成留言数组
			//4.遍历留言信息数组,对每条留言作再次解析
			$info = file_get_contents("liuyan.txt");
			$info=rtrim($info,"@");
			//echo $info;
			if(strlen($info)){
				$lylist=explode("@@@",$info);
				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>";
					echo "</tr>";
				}
			}
			
			?>
			</table>
		</centerr>
	</body>
</html>

 
 
del.php

 

 

<html>
	<head>
	<meta http-equiv="Content-Type"content="text/html; charset=gb2312">
		<title>我的留言板</title>
	</head>
	<body>
		<center>
			<?php include("menu.php");//导入网站的导航栏?>
			
			<h3>删除留言</h3> 
			
			<?php
			//执行删除指定id的留言信息
			//1.获取要删除留言的id号
			//2.从留言liuyan.txt信息文件中获取留言信息
			//3.将留言信息以@@@的符号拆分成留言数组
			//4.使用unset删除指定id的留言信息
			//5.还原留言信息为字串,并写回留言文件liuyan.txt
			
			$id=$_GET["id"];
			$info=file_get_contents("liuyan.txt");
			$lylist=explode("@@@",$info);
			unset($lylist[$id]);
			$ninfo=implode("@@@",$lylist);
			file_put_contents("liuyan.txt",$ninfo);
			echo "删除成功!";
			
			?>
		</centerr>
	</body>
</html>

 
 menu.php

 

 

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

 

 

 3.补充说明

这是一个比较适合初学者入门php的项目,涉及到的基本内容是几个有关php方法的使用。其中几个主要操作的思路大致如下:1.添加留言:执行这个操作之后,数据被写入liuyan.txt,“@@@”作为每一条留言的分隔符,“##”作为每一条留言中各元素的分隔符。2.查看留言:查看留言就是将liuyan.txt中的数据读取出来,再根据分隔符进行分割成为数组,再将一个个数组元素分割成基本元素,显示出来。3.删除操作:获取要删除留言的id号,从留言liuyan.txt信息文件中获取留言信息,将留言信息以@@@的符号拆分成留言数组,使用unset删除指定id的留言信息,还原留言信息为字串,并写回留言文件liuyan.txt

 

 

 

你可能感兴趣的:(PHP初步----留言版项目)