📄 guestbook.php
字号:
<?php
session_start();
include "include/query.php";
include "include/functions.php";
timer();
$db = new db_query;
$db->connect();
if(!isset($_GET["mode"]))
{
$totalRecords = $db->result($db->query("select count(*) from `guestbook`"),0,"count(*)");
$pagesize = getConfig("guestbook_pagesize");
$totalPages = ceil($totalRecords/$pagesize);
$page = $_GET["page"]-1;
$recordNumber = $totalRecords - ($page*$pagesize);
$startRecord = $page*$pagesize;
if(!isset($_GET["username"]))
$guestbookResult = $db->query("select * from `guestbook` order by `id` desc limit {$startRecord},{$pagesize}");
else
$guestbookResult = $db->query("select * from `guestbook` where `to_user` = '{$_GET["username"]}'");
?>
<html>
<head>
<title>用户留言--<?=getConfig("chatroom_name")?></title>
<style>
td,body
{
font-size:13px;
}
a
{
color:blue;
text-decoration:none;
}
a:hover
{
color:red;
text-decoration:underline;
}
</style>
<META http-equiv="Content-Type" content="text/html;charset=gb2312">
<script language=javascript>
function checkForm(fm)
{
if(fm.username.value=="")
{
alert("请填写用户名");
fm.username.focus();
return false;
}
if(fm.password.value=="")
{
alert("请填写密码");
fm.password.focus();
return false;
}
if(fm.to_user.value=="")
{
alert("想写给谁?");
fm.to_user.focus();
return false;
}
if(fm.subject.value=="")
{
alert("你还没有写主题呢?");
fm.subject.focus();
return false;
}
if(fm.content.value=="")
{
alert("你还没有写内容呢?");
fm.content.focus();
return false;
}
}
function reply(subject,name)
{
document.guestBookForm.subject.value = subject;
document.guestBookForm.to_user.value = name;
document.guestBookForm.content.focus();
}
</script>
</head>
<body bgcolor="<?=getConfig("page_bgcolor")?>">
<center><h2>书写留言</h2></center>
<!--显示留言-->
<table cellspacing=1 cellpadding=2 bgcolor="black" width=600 align="center">
<tr>
<td bgcolor="#6699ff" align="center"><b>公告</b></td>
</tr>
<tr>
<td align="center" bgcolor="white" height=40><?=getConfig("guestbook_affiche")?></td>
</tr>
</table>
<br><br>
<table cellspacing=1 cellpadding=3 bgcolor="black" width=600 align="center">
<tr>
<td bgcolor="#6699ff" align="center"><b>查看聊友留言</b></td>
</tr>
<?php
$enable_deleteself_guestbook = getConfig("enable_deleteself_guestbook");
if(!$db->numrows($guestbookResult))
{
echo "<tr><td bgcolor=\"white\" height=100 align=\"center\">暂时没有聊友的流言。</td></tr>";
}
else
{
echo "<tr><td bgcolor=\"white\">";
echo "总留言条数 <font color='blue'>{$totalRecords}</font> 条,分 <font color='blue'>{$totalPages}</font> 页 ,每页 <font color='blue'>{$pagesize}</font> 条,当前第 <font color='blue'>{$_GET["page"]}</font> 页。";
for($i=1;$i<=$totalPages;$i++)
{
if($page==$i-1)
echo " 第{$i}页 ";
else
echo " <a href='guestbook.php?page={$i}'>第{$i}页</a> ";
}
echo "</tr>";
}
while($guestbookRow = $db->fetchArray($guestbookResult))
{
echo "<tr>\n";
echo "<td bgcolor=\"buttonface\" width=600>\n";
echo " ID:<font color='blue'>{$guestbookRow["id"]}</font> ";
echo "第{$totalRecords}条 主题:{$guestbookRow["subject"]}";
echo "<br>留言者:<a href=\"#\" onclick=\"window.open('member.php?mode=info&username={$guestbookRow["username"]}','','width=400px,height=510px;top=0,left=0');return false\" title='点击查看该用户信息'>{$guestbookRow["username"]}</a> 写给聊友:<a href=\"#\" onclick=\"window.open('member.php?mode=info&username={$guestbookRow["to_user"]}','','width=400px,height=510px;top=0,left=0');return false\" title='点击查看该用户信息'>{$guestbookRow["to_user"]}</a> 写于:{$guestbookRow["time"]}";
echo " [<a href='#reply' onclick=\"reply('re:".addslashes($guestbookRow["subject"])."','{$guestbookRow["username"]}')\">回复</a>] ";
if(($_SESSION["username"]==$guestbookRow["username"]&&getConfig("enable_deleteself_guestbook"))||$_SESSION["userrank"]>=getConfig("enable_delete_guestbook"))
{
echo " [<a href='guestbook.php?mode=delete&id={$guestbookRow["id"]}'>删除</a>]";
}
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td bgcolor=\"white\" height=50 valign=\"top\">\n";
echo " ".htmlspecialchars($guestbookRow["content"]);
echo "</td>\n";
echo "</tr>\n";
$totalRecords --;
//标记为已读
if($guestbookRow["to_user"]==$_SESSION["username"])
{
$db->query("update `guestbook` set `readed` = 1 where `id` = '{$guestbookRow["id"]}'");
}
}
?>
</table>
<br><br>
<!--写留言-->
<table cellspacing=1 cellpadding=2 bgcolor="black" width=600 align="center">
<form name="guestBookForm" onsubmit="return checkForm(this)" method="post" action="guestbook.php?mode=save">
<tr>
<td bgcolor="#6699ff" colspan=2 align="center"><b><a name="reply" style="color:black">书写留言</a></b></td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>用户名</td>
<td bgcolor="white" width=500><input type="Text" maxlength=20 name="username" value="<?=isset($_SESSION["username"])?$_SESSION["username"]:""?>">您的用户名。</td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>密码</td>
<td bgcolor="white" width=500><input type="password" maxlength=20 name="password">您的聊天室密码。</td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>写给谁?</td>
<td bgcolor="white" width=500><input type="Text" maxlength=20 name="to_user" value="<?=isset($_GET["to"])?$_GET["to"]:""?>">写给谁呀?</td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>主题</td>
<td bgcolor="white" width=500><input type="Text" maxlength=40 name="subject" value="<?=isset($_GET["subject"])?$_GET["subject"]:""?>">主题呢?</td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>内容</td>
<td bgcolor="white" width=500>
<Table width=500 cellspacing=0 cellpadding=0>
<tr>
<td width=380><textarea cols=53 rows=8 name="content" onkeyup="sx.innerText=255-this.value.length"></textarea></td>
<td width=120 align="center"><font color="#999999">最多支持255个字符<br>还剩下 <span id="sx" style="color:blue">255</span> 个字符可用</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="buttonface" align="right" width=100>提交</td>
<td bgcolor="white" width=500><input type="submit" value="提交留言"> <input type="reset" value="重置留言"> 提示:<?=getConfig("enable_write_guestbook")?> 级以上才允许留言。</td>
</tr>
</form>
</table>
<br>
<?php
include "include/copyrights.php";
?>
</body>
</html>
<?php
exit;
}
if($_GET["mode"]=="save")
{
//保存留言信息
if($_SESSION["userrank"]<getConfig("enable_write_guestbook"))
{
header("location:notice.php?str=级别不够&id=".cant_write_guestbook);
exit;
}
$content = $_POST["content"];
$subject = $_POST["subject"];
$to_user = $_POST["to_user"];
$username = $_POST["username"];
$password = md5($_POST["password"]);
if(!$db->result($db->query("select count(*) from `members` where `username` = '{$username}' and `password` = '{$password}'"),0,"count(*)"))
{
header("location:notice.php?str=密码错误&id=".cant_write_guestbook);
exit;
}
if(!$db->result($db->query("select count(*) from `members` where `username` = '{$to_user}'"),0,"count(*)")&&$_POST["to_user"]!="大家")
{
header("location:notice.php?str=用户 {$to_user} 不存在&id=".cant_write_guestbook);
exit;
}
$time = date("Y-m-d H:i:s");
$ip = $_SERVER["REMOTE_ADDR"];
if(!isset($_SESSION["lastgbtime"]))
{
session_register("lastgbtime");
$_SESSION["lastgbtime"] = time();
}
else
{
$interval = getConfig("write_guestbook_interval");
if((time()-$_SESSION["lastgbtime"])<$interval*60)
{
header("location:notice.php?str=两次留言间隔时间不能小于 {$interval} 分钟。&id=".cant_write_guestbook);
exit;
}
}
$_SESSION["lastgbtime"] = time();
$db->query("insert into `guestbook` set `content` = '{$content}',`subject` = '{$subject}',`to_user` = '{$to_user}',`time` = '{$time}',`ip` = '{$ip}',`username` = '{$username}'");
//最后成功留言的时间
header("location:notice.php?id=".write_guestbook_ok);
}
if($_GET["mode"]=="delete")
{
//检查用户权限
$gbResult = $db->query("select `username`,`id`,`to_user`,`subject` from `guestbook` where `id` = '{$_GET["id"]}'");
$gbRow = $db->fetchArray($gbResult);
if(!$db->result($db->query("select count(*) from `guestbook` where `id` = '{$_GET["id"]}'"),0,"count(*)"))
{
header("location:notice.php?str=没有找到该条留言&id=".cant_delete_guestbook);
exit;
}
if(!($_SESSION["userrank"]>=getConfig("enable_delete_guestbook")||$_SESSION["username"]==$gbResult["to_user"]))
{
header("location:notice.php?str=请检查您是否有权限删除留言&id=".cant_delete_guestbook);
exit;
}
//执行删除操作
$db->query("delete from `guestbook` where `id` = '{$_GET["id"]}'");
//记录到日志
$db->query("insert into `logs` set `type` = '".logtype_manage."',`action` = 31,`manager` = '{$_SESSION["username"]}',`time` = '".date("Y-m-d H:i:s")."',`user` = '{$gbRow["username"]}',`why` = '{$gbRow["to_user"]}',`tags`='{$gbRow["subject"]}\t{$gbRow["id"]}'");
header("location:notice.php?id=".delete_guestbook_ok);
exit;
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -