留言回复
reply.php 文件用于留言板中处理管理员对留言的回复及删除功能。
同样为防止未经登陆的非法操作,需要做登录检测:
session_start();
// 未登陆则重定向到登陆页面
if(!isset($_SESSION['username'])){
header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\'
)."/login.php");
exit;
}
下面是对留言的回复处理代码:
require("./conn.php");
if($_POST){
if(get_magic_quotes_gpc()){
$reply = htmlspecialchars(trim($_POST['reply']));
} else {
$reply = addslashes(htmlspecialchars(trim($_POST['reply'])));
}
// 回复为空时,将回复时间置为空
$replytime = $reply?time():'NULL';
$update_sql = "UPDATE guestbook SET reply = '$reply',replytime = $replytime WHERE id = $_POST[id]";
if(mysql_query($update_sql)){
exit('<script language="javascript">alert("回复成功!");self.location="admin.php";</script>');
} else {
exit('留言失败:'.mysql_error().'[ <a href="javascript:history.back()">返 回</a> ]');
}
}
上面对于时间的处理需要注意一下,当回复内容为空时,那么认为是将原来的回复内容清空,这时候需要将对应的回复时间也设置为空(replytime = NULL)。
在回复成功时,这里我们采用了 JavaScript 方式的重定向到 admin.php 页面,与 submiting.php 中留言成功的基于 meta Refresh 重定向方式略有不同,具体采用那种方式视实际情况或个人喜好而定。
留言删除
留言板程序中删除留言的处理很简单,只要判断为以 HTTP GET 方式请求该页并且 URL 参数中 action=delete ,那么就执行删除相关留言记录的 SQL 。
下面是对留言的删除处理代码:
// 删除留言
if($_GET['action'] == 'delete'){
$delete_sql = "DELETE FROM guestbook3 WHERE id = $_GET[id]";
if(mysql_query($delete_sql)){
exit('<script language="javascript">alert("删除成功!");self.location="admin.php";</script>');
} else {
exit('留言失败:'.mysql_error().'[ <a href="javascript:history.back()">返 回</a> ]');
}
}
至此,本套 PHP 留言板教程已经全部完毕,您可以查看附录整套 PHP留言板源代码 或者 点此下载 留言板源代码压缩包。
