php+dbfile开发小型留言本
board.php用来存储数据,可以先在里面添加了一条留言纪录。
代码
<?php $Board=array( array(1081410332,'测试','测试留言本','http://www.phprm.com') ); ?>
index.php是留言显示和提交页面。
代码
<?php
header('Content-type:text/html;charset=utf8');
require_once ('board.php');
function htmlencode($content) {
$content = htmlspecialchars($content);
$content = preg_replace("/\r/i", "<br />", $content);
return $content;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$configpath_parts1 = pathinfo($_SERVER['SCRIPT_FILENAME']);
$time = time();
$name = $_POST['name'];
if(preg_match("/^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$/i", $_POST['url']) || $_POST['url'] == '')
{
$url = $_POST['url'];
}else{
$url = 'http://' . htmlspecialchars(preg_replace("/https?\:\/\//i", '', $_POST['url']) , ENT_QUOTES);
}
$info = htmlencode($_POST['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')) {
die();
}
if (!fwrite($handle, $content)) {
die();
}
fclose($handle);
} else {
die();
}
header('Location:.');
} else {
?>
<!DOCTYPE html>
<html>
<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中存放的是管理留言本的密码,把密码放在单独一个文件中方便修改。 代码拷贝框
[Ctrl+A 全部选择 然后拷贝]
admin.php是管理页面,功能很简单,只能删除留言。在删除时需要输入管理密码,管理密码存放在config.php中。 代码拷贝框
<?php
require_once ('board.php');
require_once ('config.php');
if (isset($_POST['id']) && $_POST['id'] != '' && addslashes($_POST['password']) == $password) {
if (count($Board) > 1) {
unset($Board[intval($_POST['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($_SERVER['SCRIPT_FILENAME']);
$filename = $configpath_parts1['dirname'] . '/' . 'board.php';
if (is_writable($filename)|| !file_exists($filename)) {
if (!$handle = fopen($filename, 'w')) {
die();
}
if (!fwrite($handle, $content)) {
die();
}
fclose($handle);
} else {
die();
}
}
header('Location:admin.php');
} else {
?>
<!DOCTYPE html>
<html>
<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
}
?>教程地址:http://www.phprm.com/develop/15350f9afecd62f37a6efa103e45c32c.html
欢迎转载!但请带上文章地址^^