gpt4 book ai didi

Php/Mysql 进程存在用户和管理员权限问题

转载 作者:行者123 更新时间:2023-11-29 21:03:46 25 4
gpt4 key购买 nike

我有每周倒计时流程,如果登录用户达到 0 周限制,他的页面将被网站禁止,没关系,我的问题是,如果我是管理员,我不希望这个流程禁止我。在这个平台上我拥有用户和管理员权限像这样:对于管理员:$user->isAdmin() 对于用户:if($user->islg()

Php流程是这样的:

if($user->islg()) {
function get_weeks_remaining($date, $expire){

$difference = strtotime($expire) - strtotime($date);
return floor($difference / 604800);

}
$link = mysqli_connect("localhost", "user", "password", "table");
$nume = $user->data->username;
$id = $user->data->id;
$date = date('m/d/Y h:i:s a', time());
$expire_date = 'May 14, 2016';
$remain = get_weeks_remaining($date, $expire_date);
$reason = 'user has been suspended';
// weeks remaining
$save=mysql_query("INSERT INTO `week-ferify`(`id`,`date`,`name`,`expire`,`remain`)VALUES('$id','$date','$name','$expire_date','$remain')");

$sql = "SELECT `id`,`remain` FROM `week-ferify`";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
while(list($id,$remain) = mysqli_fetch_array($result)){
if($remain > 0 and $remain < 2){
echo "<div class=\"week-remain-box\"><span class='week-remain-text'>week remain</span><p class='week-remain-remain'>$remain</p></div>";
}else{
echo "<div class=\"week-remain-box\"><span class='week-remain-text'>weeks remains</span><p class='week-remain-remain'>$remain</p></div>";
//Ban process
} if ($remain > 0 and $remain < 2) {
mysql_query("UPDATE `mls_users` SET banned=0 WHERE id=$id");
} else {
mysql_query("UPDATE `mls_users` SET banned=1 WHERE id=$id");
mysql_query("INSERT INTO `mls_banned`(`id`,`until`,`by`,`reason`)VALUES('$id','1462317824','1','$reason')");
}
}
mysqli_free_result($result);
}
}
}

我不知道将 $user->isAdmin() 放在哪里才能不被进程禁止,并且只有简单的用户才会被禁止。感谢您的任何建议,并对我的英语不好表示歉意。

最佳答案

假设 $user->isAdmin() 方法根据用户是否是管理员返回 truefalse:

在实际禁止代码之前放置一个 if 语句。

 //Ban process
if ($remain > 0 and $remain < 2) {
mysql_query("UPDATE `mls_users` SET banned=0 WHERE id=$id");
} else {

if(!$user->isAdmin()){
mysql_query("UPDATE `mls_users` SET banned=1 WHERE id=$id");
mysql_query("INSERT INTO `mls_banned`(`id`,`until`,`by`,`reason`)VALUES('$id','1462317824','1','$reason')");
}
}

但是,如果您可以放心地假设禁止 的默认设置是0。我建议您将条件包裹在整个“禁止代码”

//Ban process
if(!$user->isAdmin()){
if ($remain > 0 and $remain < 2) {
mysql_query("UPDATE `mls_users` SET banned=0 WHERE id=$id");
} else {


mysql_query("UPDATE `mls_users` SET banned=1 WHERE id=$id");
mysql_query("INSERT INTO `mls_banned`(`id`,`until`,`by`,`reason`)VALUES('$id','1462317824','1','$reason')");

}
}

而且您也应该修改计数器。

关于Php/Mysql 进程存在用户和管理员权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36993517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com