(6)用户删除留言和评论、root用户管理管理员列表实现
对于一个数据库应用系统来说,增删改查功能是最基本且必需的,而在数据的删除方面也比较容易出现越权删除的问题,这就要求我们要在权限的划分与查询上做到性质,不能出现非本用户留言删除,无关评论删除,非root用户删除管理员等问题。
1.用户删除本用户留言
messagelist表的结构
/*查找数据库中属于登录用户的留言viewownmessage.php*/
$q = "select *from messagelist where username = \"".$_SESSION['username']."\" order by id";//设置查询指令
$result = mysql_query($q);//执行查询
if($result)
{
while($row = mysql_fetch_assoc($result)){
echo "<tr><td> <a href=\"ViewOwnMessage_detail.php?id=".$row['id']."\">".$row['title']."</a></td><td>".$row["lastdate"]."</td></tr>";
}
}
else{
echo "没有文章";
}
/*viewownmessage_deail.php*/
$_SESSION['id']=$_GET['id'];
$q = "select MSG from messagelist where id = \"".$_SESSION['id']."\" ";//设置查询指令
$result = mysql_query($q);//执行查询
if($row = mysql_fetch_assoc($result)){
echo "<tr><td>".$row["MSG"]."</td><td> <a href=\"delete.php?id=".@$row['id']."\">删除</a></td></tr>";
}
删除实现
/*delete.php*/
$id=$_GET['id'];
$sql="delete from messagelist where id = $id";
$que=mysql_query($sql);
if($que&& $_SESSION['class']==1){
echo"<script>alert('删除成功,返回首页');location.href='adminpage.php';</script>";
}
else if ($que&& $_SESSION['class']==0){
echo"<script>alert('删除成功,返回首页');location.href='firstpage.php';</script>";
}
else{
echo "<script>alert('删除失败')</script>";
exit;
}
2.用户删除自己留言下的评论和自己发表的评论
可删除的评论分为两种,一种是自己发表的评论,另一种是别人在自己的留言下发表的评论。这样就要求评论表的结构不仅要有发表者的信息,还要有被评论者的信息,这样就可以查找到自己收到的评论的集合和自己发表的评论的集合。
/*查找收到的评论viewGotcomments.php*/
$q = "select * from comments where comment_for =\"".$_SESSION['username']."\" ";//设置查询指令
$result = mysql_query($q);//执行查询
while($row = mysql_fetch_assoc($result)) {
echo "<tr><td>".$row["comment_name"]."</td><td>".$row["comment_msg"]."</td><td>".$row["lastdate"]."</td><td> <a href=\"deletecomments.php?id=".@$row["id"]."\">删除</a></td></tr>";
}
/*查看自己发表的评论viewOwnMessage.php*/
$q = "select * from comments where comment_name =\"".$_SESSION['username']."\" ";//设置查询指令
$result = mysql_query($q);//执行查询
while($row = mysql_fetch_assoc($result)) {
echo "<tr><td>".$row["comment_for"]."</td><td>".$row["comment_msg"]."</td><td>".$row["lastdate"]."</td><td> <a href=\"deletecomments.php?id=".@$row["id"]."\">删除</a></td></tr>";
}
删除操作:
/*deletecomments.php*/
$id=$_GET['id'];
$sql="delete from comments where id = $id";
$que=mysql_query($sql);
if($que&& $_SESSION['class']==1){
echo"<script>alert('删除成功,返回首页');location.href='adminpage.php';</script>";
}
else if ($que&& $_SESSION['class']==0){
echo"<script>alert('删除成功,返回首页');location.href='firstpage.php';</script>";
}else{
echo "<script>alert('删除失败')</script>";
exit;
}
3.root用户管理管理员列表(添加和删除)
该功能主要是为了实现管理员变动所对应的管理员列表的更改
管理员添加
/*前端,管理员的添加*/
<form action="checkaddadmin.php" method="post" >
管理员名称 :<input type="text" name="username"/><font size="2" face="arial" color="red">*只允许数字、字母和下划线</font>
<br/>
密 码 :<input type="password" name="password"/><font size="2" face="arial" color="red">*长度不少于8位且只允许数字、字母和下划线</font>
<br/>
确认密码 :<input type="password" name="confirm"/>
<br/>
<input type="Submit" name="Submit" value="添加"/>
<br/>
<a href = "adminfirst.php">返回上一页</a>
</form>
/*后端,checkaddadmin.php*/
$sql_insert = "insert into memberlist(username,password,class) values('$user','$psw',1)";
$res_insert = mysql_query($sql_insert);
//$num_insert = mysql_num_rows($res_insert);
if($res_insert)
{
echo"<script>alert('添加成功');location.href='adminfirst.php';</script>";
exit(0);
}
else
{
echo "<script>alert('系统繁忙,请稍候!'); history.go(-1);</script>";
}
删除管理员:
/*查找管理员,deleteadmin.php*/
$q = "select * from memberlist where class = 1";//设置查询指令
$result = mysql_query($q);//执行查询
while($row = mysql_fetch_assoc($result)){
echo "<tr><td>".$row["username"]."</td><td>".$row["lastdate"]."</td> <td> <a href=\"deleteadmin.php?id=".$row['id']."\">删除</a></td></tr>";
}
/*删除的实现,deleteadmin.php*/
$id=$_GET['id'];
$sql="delete from memberlist where id = $id";
$que=mysql_query($sql);
if($que){
echo"<script>alert('删除成功,返回列表');location.href='admindelete.php';</script>";
}else{
echo "<script>alert('删除失败')</script>";
exit;
}