如果在PHP中捕获地狱?

Joe*_*eld -1 php

好吧原谅我在这里的写作技巧,但我似乎无法理解为什么这段代码会识别出来然后却无法识别其他一些东西.

我的代码:

if (!isset($id)) {
      $_SESSION["logged_in"] = False;
      printf("Could not retrieve records: %s\n", mysqli_error($mysqli));
     if ($_SESSION["logged_in"] = False)
        { echo "session variable is set at False"; }
     if ( $_SESSION["logged_in"] = True)
        { echo "session variable is set at True"; }
  }
Run Code Online (Sandbox Code Playgroud)

现在,正如我所看到的,如果它完全输入这段代码,那么首先应该将变量设置为"false".在某些代码未显示的其他位置它被设置为true并且该部分工作正常但是当我尝试将其强制设置为虚假设置时它仍然是真的..任何人都可以看到为什么这不会被设置为"False"在执行中指出?

Mic*_*ski 7

你应该在==这里用于比较,而不是=用于作业:

if ($_SESSION["logged_in"] = False)
//         ---------------^^^
// Should be
if ($_SESSION["logged_in"] == False)

// Also here:
if ( $_SESSION["logged_in"] = True)
//--------------------------^^
// Should be
if ($_SESSION["logged_in"] == True)
Run Code Online (Sandbox Code Playgroud)