php+dbfile开发小型留言本

最近一直在用php+dbfile开发blog,开发过程中学到了不少东西,于是就试着写了一个小留言本。
这个留言本采用php+dbfile,不需要使用数据库,可以放在blog中使用,比如http://www.customyze.com,这个blog中的Tag Board就是这个留言本。

整个留言本需要四个文件,分别是:board.php、index.php、config.php、admin.php。

board.php用来存储数据,可以先在里面添加了一条留言纪录。
代码拷贝框
<?php
$Board=array(
array(1081410332,'测试','测试留言本','http://www.piscdong.com')
);
?>
[Ctrl+A 全部选择 然后拷贝]

index.php是留言显示和提交页面。
代码拷贝框
<?php
require_once('board.php');
function htmlencode($content){
$content=htmlspecialchars($content);
$content=preg_replace("/\r/i","<br />",$content);
return $content;
}
if($HTTP_SERVER_VARS['REQUEST_METHOD']=='POST'){
$configpath_parts1 = pathinfo($SCRIPT_FILENAME);
$time=time();
$name=$HTTP_POST_VARS['name'];
$url=(preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i",$HTTP_POST_VARS['url'])
$HTTP_POST_VARS['url']=='')?$HTTP_POST_VARS['url']:'http://'.htmlspecialchars(preg_replace("/https?\:\/\//i",'',$HTTP_POST_VARS['url']),ENT_QUOTES);
$info=htmlencode($HTTP_POST_VARS['info']);
if($name!='' && $info!=''){
$Board[]=array($time,$name,$info,$url);
}
for($i=0;$i<count($Board);$i++){
$bd=current($Board);
$s[]="\tarray(".$bd[0].",'".$bd[1]."','".$bd[2]."','".$bd[3]."')";
next($Board);
}
$content="<?php\n\$Board=array(\n".join($s,",\n")."\n);\n?>";
$filename=$configpath_parts1['dirname'].'/'.'board.php';
if(is_writable($filename)
!file_exists($filename)){
if(!$handle=fopen($filename,'w')){
return false;
}
if(!fwrite($handle,$content)){
return false;
}
fclose($handle);
}else{
return false;
}
header('Location:.');
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>留言本</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<form method="post" name="form1" action="">
<table border="0" cellspacing="5" cellpadding="0" align="center">
<tr>
<td>
<div style="overflow:auto;height:250px;border:1px dotted #999999;padding:5px;word-wrap:break-word;width:400px;">
<?php
end($Board);
for($i=0;$i<count($Board);$i++){
$bd=current($Board);
$s[]='<strong>'.($bd[3]!=''?'<a href="':'').(preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i",$bd[3])?'mailto:':'').$bd[3].(($bd[3]!='' && !preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i",$bd[3]))?'" target="_blank':'').($bd[3]!=''?'">':'').$bd[1].($bd[3]!=''?'</a>':'').':</strong> '.$bd[2].'<br/><em>-'.date("G:i, M j, Y",$bd[0]).'</em>';
prev($Board);
}
echo join($s,'<br/><br/>');
?>
</div>
</td>
</tr>
<tr>
<td align="center">
名称:<input type="text" name="name"/> URL/Email:<input type="text" name="url"/><br/>
<textarea name="info" cols="40" rows="8"></textarea><br/>
<input type="submit" value="发布"/>
</td>
</tr>
</table>
</form>
</body>
</html>
<?php } ?>
[Ctrl+A 全部选择 然后拷贝]

config.php中存放的是管理留言本的密码,把密码放在单独一个文件中方便修改。
代码拷贝框
<?php $password='123456'; ?>
[Ctrl+A 全部选择 然后拷贝]

admin.php是管理页面,功能很简单,只能删除留言。在删除时需要输入管理密码,管理密码存放在config.php中。
代码拷贝框
<?php
require_once('board.php');
require_once('config.php');
if(isset($HTTP_POST_VARS['id']) && $HTTP_POST_VARS['id']!='' && addslashes($HTTP_POST_VARS['password'])==$password){
if(count($Board)>1){
unset($Board[intval($HTTP_POST_VARS['id'])]);
for($i=0;$i<count($Board);$i++){
$bd=current($Board);
$s[]="\tarray(".$bd[0].",'".$bd[1]."','".$bd[2]."','".$bd[3]."')";
next($Board);
}
$content="<?php\n\$Board=array(\n".join($s,",\n")."\n);\n?>";
$configpath_parts1 = pathinfo($SCRIPT_FILENAME);
$filename=$configpath_parts1['dirname'].'/'.'board.php';
if(is_writable($filename)
!file_exists($filename)){
if(!$handle=fopen($filename,'w')){
return false;
}
if(!fwrite($handle,$content)){
return false;
}
fclose($handle);
}else{
return false;
}
}
header('Location:admin.php');
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>管理留言本</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<table width="500" border="0" cellspacing="1" cellpadding="5" align="center" bgcolor="#999999">
<?php
for($i=0;$i<count($Board);$i++){
$bd=current($Board);
$s[]='<tr><td bgcolor="#'.($i%2!=0?'ececec':'ffffff').'"><strong>'.($bd[3]!=''?'<a href="':'').(preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i",$bd[3])?'mailto:':'').$bd[3].(($bd[3]!='' && !preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i",$bd[3]))?'" target="_blank':'').($bd[3]!=''?'">':'').$bd[1].($bd[3]!=''?'</a>':'').':</strong> '.$bd[2].'<br/><em>-'.date("G:i, M j, Y",$bd[0]).'</em></td>'.(count($Board)>1?'<td bgcolor="#'.($i%2!=0?'ececec':'ffffff').'" align="center"><form method="post" action=""><input type="submit" value="删除" /><input type="hidden" name="id" value="'.$i.'" /><input type="password" name="password" /></form></td>':'').'</tr>';
next($Board);
}
echo join($s,'');
?>
</table>
</body>
</html>
<?php } ?>
[Ctrl+A 全部选择 然后拷贝]

这个留言本还很简单,功能上还不健全,比如没有分页等,还可以继续完善。:-)

(0)

相关推荐

  • php文件操作之小型留言本实例

    本文实例讲述了php文件操作之小型留言本.分享给大家供大家参考.具体如下: Index.php文件如下: <?php $path = "DB/"; //定义路径 $dr = opendir($path); //打开目录 while($filen = readdir($dr)) //循环读取目录中的文件 { if($filen != "." and $filen != "..") { $fs = fopen($path.$filen, &qu

  • php xml实例 留言本

    复制代码 代码如下: <?php //打开用于存储留言的XML文件 $guestbook = simplexml_load_file('DB/guestbook.xml'); foreach($guestbook->thread as $th) //循环读取XML数据中的每一个thread标签 { echo "<B>标题:</B>".$th->title."<BR>"; echo "<B>作

  • 简单的PHP留言本实例代码

    config.php 复制代码 代码如下: <?php $conn = @mysql_connect("localhost","root","") or die("数据库连接出错!"); mysql_select_db("gb",$conn); mysql_query("set names 'GBK'"); ?> add.php 复制代码 代码如下: <?php inc

  • 我用php+mysql写的留言本

    guestbook.php: <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title></title> <STYLE>A:link {    

  • PHP+MySQL 制作简单的留言本

    留言显示页面:比上一个例子增加了分页和留言回复的功能 主要代码: install/index.php:程序安装页面 复制代码 代码如下: <?php if($_GET["action"]!=1) { ?> <form method="post" action="index.php?action=1"> <table border="1"> <tr> <td>MySQL

  • 解析PHP留言本模块主要功能的函数说明(代码可实现)

    一,敏感词处理1,过滤敏感词preg_match()函数用来在字符串中搜索所有与给定的正则表达式匹配的内容,如果存在则返回True,否则返回False.语法:int preg_match(string pattern,string subject[,array matches[,int flags]])preg_match()函数参数说明如下:pattern:必要参数,需要匹配的正则表达式subject:必要参数,输入的字符串matches:可选参数.输出搜索结果的数组,例如$out[0]将包含

  • PHP对文件夹递归执行chmod命令的方法

    本文实例讲述了PHP对文件夹递归执行chmod命令的方法.分享给大家供大家参考.具体分析如下: 这里对文件夹和文件递归执行chmod命令来改变执行权限 <?php function recursiveChmod($path, $filePerm=0644, $dirPerm=0755) { // Check if the path exists if(!file_exists($path)) { return(FALSE); } // See whether this is a file if(

  • 超级简单的php+mysql留言本源码

    共3个文件 IncDB.php数据库连接 index.php首页 InsetToDB.php数据库操作 数据库lguestbook里面建表 复制代码 代码如下: CREATE TABLE `intd` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) character set utf8 collate utf8_bin NOT NULL, `text` text character set utf8 collate utf8

  • php mysql 留言本应用实例第1/2页

    复制代码 代码如下: <?php $hostname_conn = "localhost"; $database_conn = "test"; $username_conn = "root"; $password_conn = "1981427"; $conn = mysql_connect($hostname_conn, $username_conn, $password_conn); ?> 复制代码 代码如下:

  • php+dbfile开发小型留言本

    最近一直在用php+dbfile开发blog,开发过程中学到了不少东西,于是就试着写了一个小留言本.这个留言本采用php+dbfile,不需要使用数据库,可以放在blog中使用,比如http://www.customyze.com,这个blog中的Tag Board就是这个留言本. 整个留言本需要四个文件,分别是:board.php.index.php.config.php.admin.php. board.php用来存储数据,可以先在里面添加了一条留言纪录. 代码拷贝框<?php $Board

  • Android studio开发小型对话机器人app(实例代码)

    前言 偶然在网上看到一个免费机器人接口,所以生此想法,接口地址:http://api.qingyunke.com/,Android开发比爬虫要繁琐得多,所以本文我将细说接口的调用方法,读者可根据思路去网上找一些免费接口拿来玩,其他代码一带而过,详细源码见文末. 成品展示: 开发步骤 1)新建项目empty,必要可github托管. 2)先写页面在res->layout目录下新建两个layout xml file activity_main作为主页面,msg_item为附在其上的消息页面.(具体代

  • 使用PHP开发留言板功能

    首先我不是一名开发人员,只是一名小小的运维工程师,PHP是我自己喜欢的一门开发语言,所以我偶尔也会敲一些代码,写一些案例.今天我给大家分享的是使用PHP开发的留言板,留言板功能不全所以请大家见谅,也不知道满不满足企业开发的要求,大家看看就可以了,有什么不足的请大家提出谢谢! 下面是效果图,没有进行CSS美化,比较简单请见谅: 留言板 我使用的环境是:LNMP,数据库名称为:test,表名为:lyb,用户名和密码均为:root index.php文件内容:(用户访问的首页文件) <?php inc

  • PHP基于面向对象实现的留言本功能实例

    本文实例讲述了PHP基于面向对象实现的留言本功能.分享给大家供大家参考,具体如下: 要设计一留言本,一切都将以留言本为核心,抓到什么是什么,按流程走下来,即按用户填写信息->留言->展示的流程进行. 现在用面向对象的思维思考这个问题,在面向对象的世界,会想尽办法把肉眼能看见的以及看不见的,但是实际存在的物或者流程抽象出来.既然是留言本,那么就存在留言内容这个实体,这个留言实体(domain)应该包括留言者姓名.E-mail.留言内容等要素,如下面代码所示 //留言实体类 class messa

  • PHP实现的简单留言板功能示例【基于thinkPHP框架】

    本文实例讲述了PHP实现的简单留言板功能.分享给大家供大家参考,具体如下: 入口文件  文件名 index.php <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True);//开发调试模式 //define('APP_DEB

  • 新版PHP将向Java靠拢

    所谓的"PHP"就是开放源码的Web应用开发/运行环境,日前<日经Open System>记者就今后PHP开发中心的发展计划等问题采访了该中心成员Zeev Suraski.Zeev Suraski表示,新版PHP中将导入try.catch等语句,从而更接近Java,以便更容易地进行大型系统的开发.(采访者:高桥 信赖) --请您谈一下决定开发PHP的起因. Rasmus Lerdorf于1995年首先公布了PHP.1997年我在制作以色列大学网页及网上商店站点时,使用了当时

  • php xml-rpc远程调用

    复制代码 代码如下: <?php /* 从网上找来的XML-RPC库,对于开发小型的外部通讯接口很有用 */ function & XML_serialize($data, $level = 0, $prior_key = NULL){ #assumes a hash, keys are the variable names $xml_serialized_string = ""; while(list($key, $value) = each($data)){ $inl

  • 易语言的学习基础知识点

    创建窗口,鼠标点点就可以,很简单快捷   举例程序源码 大致的程序编写思路如下: 在代码中"__启动窗口_创建完毕"下,编写相应代码,初始化程序 一个方框对应一个事件处理函数 然后下面编写各个事件处理函数即可 在一个窗口中调用另一个窗口只需要"点击菜单栏中的"插入"-->"窗口"即可 使用"载入 (窗口1, , 真)"即可显示,至于返回值以后再了解 易语言很符合国情,适合个人快速开发小型软件! 与Qt面向对象编

  • 2019年最新Java学习路线图

    小编深知广大爱好Java的人学习是多么困难,因此专门整理了新版的学习路线图,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路绝对不容错过! 2019年最新Java学习路线图, 路线图的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习.从今天起不要再找借口,不要再说想学Java却没有资源,赶快行动起来,Java等你来探索,高薪距你只差一步! java学习基础 针对Java零基础入门学习者,比较详细的知识点总结和学习路线 数据库 数据库是程序员必须要掌握中知识点,详细的学习思路

随机推荐