普通网友 2013-08-28 15:08
浏览 33
已采纳

我不能在if语句中得到“和”和“或”一起工作

I really can't get this working.

The users account type is assigned to the $_SESSION["user_type"].

You have 2 account types that can edit orders. Admins(admin) and Sub Admins(sadmin).

The "content_id" is the information displayed depending on the the page type.

What's wrong with this statement?

And yes. ob_start(); and session_start(); are running

//Disallow all users from edit orders. Except admins and Sub admins.
if ($_SESSION["user_type"] !== "admin" || $_SESSION["user_type"] !== "sadmin" && $_GET["content_id"] == "edit_order"){
  header ("location:home.php");
}
  • 写回答

6条回答 默认 最新

  • dongpiao1983 2013-08-28 15:18
    关注

    Here are some basics:

    true  || *anything* = true
    false || false      = false
    false && *anything* = false
    true  && true       = true
    

    Now that we have established that, let's get to what you want.

    Users who can edit your page is either admin OR sub-admin. The reverse, user who cannot edit your page, is neither admin nor sub-admin.

    That gives us: User who is non-admin AND non-subadmin AND is trying to access edit page, send to home page.

    if ($_SESSION["user_type"] !== "admin" && $_SESSION["user_type"] !== "sadmin" && $_GET["content_id"] == "edit_order")
    {
       header ("location:home.php");
    }
    

    By the way, any reason you are using !== for checking user type, but == to check content id?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示