即时通讯无法创建会话。
我的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'])
正在恢复假我给出的每个有效输入以及无效输入。 我试图复制整个代码并创建一个新的虚拟项目,它在那里工作。但不适用于我的actula项目。
'$ _ SESSION ...'是'返回... FALSE'?这是否意味着它*进入了'if' *或者它没有进入'if' *?你是否首先检查了会话是否成功启动*(mysqli_num_rows($ result)== 1'为'true')? – deceze
@deceze if(!$ _ SESSION ['dany'])返回true。这意味着$ _SESSION ['dany']等于false。 它进入if块。但我不应该在有效的投入。 –
@deceze ---未定义的索引:第3行的“adminPanel.php”中的dany --- 这就是即时错误的原因。 –