Php 简单登录脚本无法正常工作

Php 简单登录脚本无法正常工作,php,sql,authentication,pdo,Php,Sql,Authentication,Pdo,我创建了一个简单的登录脚本,在一定程度上可以正常工作。所有验证都正常工作,因此,如果我输入错误的用户名和密码,它会显示错误消息您的用户名或密码错误,但当我输入正确的用户名和密码时,它不会将我指向users/index.php页面,而只是重新加载登录页面 这是我的密码- <?php session_start(); $errors = []; $username = isset($_POST['username']) ? $_POST['username']

我创建了一个简单的登录脚本,在一定程度上可以正常工作。所有验证都正常工作,因此,如果我输入错误的用户名和密码,它会显示错误消息您的用户名或密码错误,但当我输入正确的用户名和密码时,它不会将我指向users/index.php页面,而只是重新加载登录页面

这是我的密码-

<?php

    session_start();

    $errors = []; 

    $username = isset($_POST['username']) ? $_POST['username'] : null;
    $password = isset($_POST['password']) ? $_POST['password'] : null;

    if(!empty($_POST)) {
    if(empty($username)) {
        $errors[] = "Please enter a username"; 
        echo "<style type=\"text/css\"> #username { background-color:#F5A9A9;border:1px solid #DF0101; } </style>";
    }
    if(empty($password)) {
        $errors[] = "Please enter a password"; 
        echo "<style type=\"text/css\"> #password { background-color:#F5A9A9;border:1px solid #DF0101; } </style>";
    } else {

    if(empty($errors)) {
        $connect = new PDO('mysql:host=localhost;dbname=uacvideos;charset=utf8mb4', 'root', '');
        $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        if(!$connect) {
                header("Location:"); // ADD ERROR LINK
            }

        $salt = "Thisismysalt";
        $hashedpass = hash('sha512', $password . $salt);

        $result = $connect->query("SELECT COUNT(*) FROM users WHERE username = '$username' AND password = '$hashedpass'");
            if($result->fetchColumn() > 0) {
                    $_SESSION['loggedin'] = 'true';
                    $_SESSION['username'] = $username;
                    header("Location: users/index.php"); // ADD LINK
                } else {
                    $errors[] = "Your username or password is incorrect"; 
                }
            }
        }
    }
?>

您必须使用echo来显示错误
示例代码:

echo $errors[] = "Please enter a username"; 

$errors=[]
引发致命错误?@S.Pols不会,因为这就像给stringsAdd
exit数组赋值一样
after
header(“Location:users/index.php”)并注释掉此
标题(“位置:”;//添加错误链接
并在那里回显内容。@S.Pols它实际上是5.4:-;)之后的速记数组)lolka_bolka,我知道你说了什么,但仍然没有告诉我用户/index.php页面