龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

无数据库支持的留言板

时间:2014-07-22 14:50来源: 作者: 点击:
分享到:
无数据库支持的简单留言板,主要是对文件方式存储和读取数据的练习。
无数据库支持的简单留言板,主要是对文件方式存储和读取数据的练习。
<?php
/**
 * 这是一个单页面没有数据库支持的留言板系统
 * 知识点:
 * 1、heredoc文档的使用:>>>EOT			EOT; 第二个EOT行前不能有任何空格
 * 2、文件的读写操作
 * 3、fread和fgets区别,fread读取指定长度的字符串,fgets读取一行,刚好保存数据的时候一行是一个留言内容,利于读取
 * 
 * 4、文件锁,本版还没实施,只写出了参考代码。
 * 
 */

$file = "message.txt";
if(isset($_POST)&&!empty($_POST)){
	$post = $_POST;
 	$content ="标题:".$post['title'].' 内容:'.$post['message']."\n\r";
 	if( file_exists($file) ){  
  		add_message($file,$content);
 	}else{
  		create_message_file($file,$content);
 	}  
}


/**
 * 初次使用时创建留言文件并保存留言
 * Enter description here ...
 * @param unknown_type $file
 * @param unknown_type $message
 */
function create_message_file($file,$message){
	$msgh = fopen($file,"w");
	//flock($file, LOCK_EX);
	fwrite($msgh,$message);
	fclose($msgh);
	//echo "添加留言信息成功。";
	echo <<<EOT
	<script language="javascript">
          alert("添加留言信息成功。");
          top.location='message.php';
   </script>
EOT;
	
}

/**
 * 添加新留言信息到文件中
 * Enter description here ...
 * @param unknown_type $file
 * @param unknown_type $message
 */
function add_message($file,$message){
	$msgh = fopen($file, "a");
	//flock($msgh,LOCK_EX); 
	fwrite($msgh,$message);
	fclose($msgh);
	//echo "你的留言已成功保存。";
	echo <<<EOT
	<script language="javascript">
          alert("你的留言已成功保存。");
          top.location='message.php';
   </script>
EOT;
}

/**
 * 显示留言内容
 * Enter description here ...
 * @param unknown_type $file
 */
function show_message($file){
	$msgh = fopen($file, "r");
	//flock($msgh, LOCK_EX);
	while($msg = fgets($msgh)){
		echo $msg;
		echo "<br>";
	}
	fclose($msgh);
}



?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无数据库支持的简单留言板</title>
<style type="text/css">
body{
	margin:0px;
	padding:0px;
}
#message{
	width:960px;
	margin:0px auto;
	padding:10px;
	overflow:hidden;
	background:#CCCCCC;
}
</style>
</head>

<body>
<div id="message">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><b>无数据库支持的简单留言板</b>__留言内容显示</td>
  </tr>
</table>
<hr></hr>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php 
	if(!file_exists($file)||filesize($file)<1){
?>
  <tr>
    <td>暂时还没有留言</td>
  </tr>
<?php 
	}else{
?>
  <tr>
    <td>
    <?php
     show_message($file);
    ?>
    </td>
  </tr>
<?php 		
	}
?>  
</table>

<hr></hr>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><b>请在下面输入你的留言标题和内容</b></td>
  </tr>
  <tr>
    <td>
	<form name="form1" method="post" action="">
  	<label>标题&nbsp; <input type="text" name="title"><br><br></label>
  	<label>内容&nbsp; <textarea name="message" cols="50" rows="10"></textarea><br><br></label>
  	<label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="Submit" value="提交"></label></p>
	</form>
	</td>
  </tr>
</table>
</div>
</body>
</html>
精彩图集

赞助商链接