没有登录php,请检查我的代码

没有登录php,请检查我的代码,php,Php,为什么我插入登录它没有得到登录,我尝试在仪表板上,通过ajax,它将第二个php,它不工作,当我插入错误的输入,它显示错误“请检查您的用户名和密码”,但当我插入正确的输入。。没有显示任何内容,请检查我的代码 $email = mysqli_real_escape_string($conn, $_POST['email']); $password = mysqli_real_escape_string($conn, $_POST['password']); $sql = "SELECT * FRO

为什么我插入登录它没有得到登录,我尝试在仪表板上,通过ajax,它将第二个php,它不工作,当我插入错误的输入,它显示错误“请检查您的用户名和密码”,但当我插入正确的输入。。没有显示任何内容,请检查我的代码

$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$sql = "SELECT * FROM main WHERE admin_email='$email' AND admin_password='$password'";
$query = mysqli_query($conn, $sql);
if (!mysqli_fetch_array($query) > 0) {
    echo "Please Check your username and password";
    return false;
    exit;
}
else {

    header("location:admin_dashboard.php");

    $row = mysqli_fetch_array($query);
    $_SESSION['main'] = $row;

    if (!$query) {
        printf("error:" . mysqli_error($conn));
    }
}

您是否已将此文本粘贴到开头:

$host = "your host";
$dbusername = "your username";
$dbpassword = "your password";
$dbname = "your database name";

// Create connection
$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname); 

php
mysql\u fetch\u array()
函数始终返回一个数组,请检查此处的文档。所以你的情况可能不对。像这样使用

$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$sql = "SELECT * FROM main WHERE admin_email='$email' AND admin_password='$password'";
$query = mysqli_query($conn, $sql);
if (count(mysqli_fetch_array($query)) > 0) {
    echo "Please Check your username and password";
    return false;
    exit;
}
else {

    header("Location:admin_dashboard.php");

    //this code will never execute as the page is redirected to admin_dashboard.php
    $row = mysqli_fetch_array($query);
    $_SESSION['main'] = $row;

    if (!$query) {
        printf("error:" . mysqli_error($conn));
    }
}

您已经在
标题
之后设置了
$\u会话
变量。有时,它会在结束后终止以执行代码。因此,您需要在
标题
之前设置
$\u会话
,以避免在
标题
之后终止代码。像这里一样更改代码

$row = mysqli_fetch_array($query);
$_SESSION['main'] = $row;
header("Location:admin_dashboard.php");
admin\u dashboard.php
页面中,您需要检查您的
$\u会话['main']
是否已设置

if(isset($_SESSION['main']))
  {
     //You are logged in
  }

输出似乎取决于admin_dashboard.php。问题可能就在那里。您正在将
$\u会话
设置在标题之后。我认为这就是问题所在。请同时显示您的
admin_dashboard.php
代码。如果您的代码中有输入错误,请将其更改为标题(“Location:admin_dashboard.php”)@Satya您是否已将
session\u start()
放在页面顶部?