如何查找(isset($ _ SESSION [' id']))是否为假

时间:2017-04-03 23:05:02

标签: php isset

我在我的应用程序的每个页面上使用$ _SESSION全局变量,以便我可以使用登录功能控制对我的站点的访问。而不是使用以下路径搜索TRUE,否则为FALSE,如下例所示,你如何扭转这种情况呢?

<?php
if (isset($_SESSION['id'])) {
    echo $_SESSION['id'];
} else {
    echo "You are not logged in!";
}
?>

3 个答案:

答案 0 :(得分:4)

在PHP手册中查看logical operators,您的问题已解决,并在那里解释 。所以,请看一下。

在这种情况下

如果你想转换if声明,你应该这样做:

<?php
if (!isset($_SESSION['id'])) {
    echo "You are not logged in!";
} else {
    echo $_SESSION['id'];
}
?>

简单地说: !表示不是

在这种特殊情况下,您使用的是!运算符,这意味着如果 true ,您通常会转换if语句。因此,如果它是isset()但您添加了!运算符,则会以某种方式检查它是否为notisset()“not”! 1}}。

手册

手册如下所示:if(!$a){} true 如果$a 不正确

答案 1 :(得分:1)

我想你在寻找这个?你只需要否定isset with!,所以你实际上是在说IF NOT / ELSE而不是IF / ELSE

 <?php
 if ( !isset( $_SESSION['id'] ) ) {
      echo "You are not logged in!";
 } else {
      echo $_SESSION['id'];
 }

答案 2 :(得分:1)

感叹号!等于“不”,如

if (!isset(...etc...