dshfjsh_5455 2016-07-05 06:30
浏览 20
已采纳

无法弄清楚为什么这不起作用(PHP)

So I am working on an admin panel feature in PHP 5.6 and whenever I try to switch a user to Admin it will set them to Builder I have no idea where or what I am doing wrong Here is the code

this is updateusera.php

     <?php include 'core/init.php';


$id   = $_GET['id'];
$type   = $_GET['type'];

if($type == 'admin'){
    mysql_query("UPDATE `users` SET `type` = 'user' WHERE `user_id` = '$id'");
     header('location: changeusers.php');

} else if($type =='user'){
    mysql_query("UPDATE `users` SET `type` = 'admin' WHERE `user_id` = '$id'");
    header('location: changeusers.php');

}

//=========================================================================

if($type == 'moderator'){
    mysql_query("UPDATE `users` SET `type` = 'user' WHERE `user_id` = '$id'");
     header('location: changeusers.php');

} else if($type =='user'){
    mysql_query("UPDATE `users` SET `type` = 'moderator' WHERE `user_id` = '$id'");
    header('location: changeusers.php');

}

//=========================================================================

if($type == 'builder'){
    mysql_query("UPDATE `users` SET `type` = 'user' WHERE `user_id` = '$id'");
     header('location: changeusers.php');

} else if($type =='user'){
    mysql_query("UPDATE `users` SET `type` = 'builder' WHERE `user_id` = '$id'");
    header('location: changeusers.php');

}
?>

this is the changeusers.php file

http://pastebin.com/qR2VybTk

for some reason it would not let me put both of my codes in here P.S I am new to Stackoverflow so i'm still getting use to all this

if anyone has an idea I would love to hear it

Thanks!

  • 写回答

2条回答 默认 最新

  • dongluo9156 2016-07-05 06:38
    关注

    You have three else if statements which is true when $type =='user'. Everything in these else if executing and three queries send, last of them set type builder.

    You need to pass in parameters type which you need to set. That way:

    if($type == 'admin') {
        echo "<a href='updateusera.php?id=&type=user'>Revoke Admin </a>";
    } else {
        echo "<a href='updateusera.php?id=$id&type=admin'>Grant Admin </a>";
    }
    if($type == 'moderator') {
        echo "<a href='updateusera.php?id=$id&type=user'>Revoke Moderator </a>";
    } else {
        echo "<a href='updateusera.php?id=$id&type=moderator'>Grant Moderator </a>";
    }
    if($type == 'builder') {
        echo "<a href='updateusera.php?id=$id&type=user'>Revoke Builder</a>";
    } else {
        echo "<a href='updateusera.php?id=$id&type=builder'>Grant Builder</a>";
    }
    

    Then you code need to be like that:

    if($type == 'user') {
        mysql_query("UPDATE `users` SET `type` = 'user' WHERE `user_id` = '$id'");
        header('location: changeusers.php');
        exit;
    }
    if($type == 'admin') {
        mysql_query("UPDATE `users` SET `type` = 'admin' WHERE `user_id` = '$id'");
        header('location: changeusers.php');
        exit;
    }
    if($type == 'builder') {
        mysql_query("UPDATE `users` SET `type` = 'builder' WHERE `user_id` = '$id'");
        header('location: changeusers.php');
        exit;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错