如果带有OR和isset运算符的语句?

时间:2013-02-06 03:28:52

标签: php

我正在使用两个变量。会话变量和用户变量。

我希望我的系统能够像这样工作:

if ($TicketArray['PostName'] !== $Username) { die("") }

但是我希望在$_SESSION['Administration']被设置时覆盖它。所以我想出了这个:

if ($TicketArray['PostName'] !== $Username OR (!isset($_SESSION['Administration'])))
{
 die("");
}

但是当用户名等于postname时,这会杀死脚本,以及是否设置了管理会话..如何构造包含以下内容的if语句:

不等于

未设置

OR 如果Postname不等于$ Username但是$ _SESSION ['Administration']; isset;设置会话的人可以查看票证吗?

3 个答案:

答案 0 :(得分:4)

我认为您只想使用&&代替||(或or)。

if ($TicketArray['PostName'] !== $Username && !isset($_SESSION['Administration']))
{
     die("");
}

答案 1 :(得分:0)

if(! isset($_SESSION['Administration']))
{
 if($TicketArray['PostName'] !== $Username)
 {
  die();
 }
}

if(($TicketArray['PostName'] !== $Username) && (! isset($_SESSION['Administration'])))
{
 die();
}

答案 2 :(得分:0)

您可以使用嵌套的if语句。示例如下:

if (!isset($_SESSION['Administration']))
{
  if ($TicketArray['PostName'] !== $Username)
  {
   die("");
  }
}

此脚本将检查会话是否未设置,如果未设置会话,则块将检查用户名与PostName相比。

这会保存一个复杂的if语句(如果你问的话甚至是可能的话)