为什么if(!$ _ SESSION ['dbname']){}返回false?

时间:2017-07-04 10:36:28

标签: php session

我无法创建会话。

我的PHP代码是

<?php 

          $dbhost = "localhost";
          $dbuser = "root";
          $dbpassword = "";
          $dbname = "dany";
          $query = "";
          $sqlQuery = ""; 
          $row = "";
          $username=false;
          if(isset($_POST['n'])){
              $username=$_POST['n'];
           }
          $password= false;
          if(isset($_POST['p'])){
              $password= $_POST['p'];
          }
          $conn=mysqli_connect($dbhost,$dbuser,$dbpassword,$dbname);
          $sUser=mysqli_real_escape_string($conn,$username);
          $sPass=mysqli_real_escape_string($conn,$password);
          // For Security 
          $query="SELECT * From admin where username='$sUser' and password='$sPass'";
          $result=mysqli_query($conn,$query);
          if(mysqli_num_rows($result)==1)
          {
              session_start();
              $_SESSION['dany']= $dbname;
              header('location:adminPanel.php');
          }
?>

检查会话的其他代码,代码为:

<?php
session_start();
if(!$_SESSION['dany'])
{
    header('location:adminLogin.php');
}
?>

这一行:

if(!$_SESSION['dany'])
对于我给出的每个有效输入以及无效输入,

返回false。 我试图复制整个代码并创建一个新的虚拟项目,它在那里工作。但是我的actula项目没有工作。

1 个答案:

答案 0 :(得分:0)

您需要检查dany条目是否定义为isset

if(isset($_SESSION['dany'])){