Сценарий входа перенаправляет

Я создал сценарий входа в систему, который, когда пользователи входят в систему, должен перенаправлять их на другую страницу внутри каталога, называемого пользователями, однако он, похоже, не работает. Ниже мой сценарий, который я создал -

<?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)) {
    $dir = dirname("link/tooutside/wroot");
    include($dir . '/directory/myconnect.php');

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

    $result = mysqli_query($conusers, "SELECT * FROM users WHERE username = '$username' AND password = '$hashedpass'"); 
        if(mysqli_num_rows($result) == 1) {
                $_SESSION['loggedin'] = 'true';
                $_SESSION['username'] = $username;
                header('Location: users/index.php');
            } else {
                $errors[] = "Your username or password is incorrect"; 
            }
        }
    }
}
?>

Теперь, если я заменю код перенаправления оператором эха, оператор эха работает, но когда со ссылкой перенаправления он меня не перенаправляет, он просто остается на странице index.php.

Есть идеи?


person Ashley Watson    schedule 04.12.2014    source источник
comment
какие-либо ошибки? Попробуйте использовать error_reporting(E_ALL)   -  person    schedule 04.12.2014


Ответы (1)


Помните, что header() должен вызываться до того, как будут отправлены какие-либо фактические выходные данные, либо с помощью обычных тегов HTML, пустых строк в файле, либо из PHP. см. http://php.net/manual/en/function.header.php

person toto21    schedule 04.12.2014
comment
Я должен признать, что я не лучший с php, честно говоря, я только начинаю, поэтому я изо всех сил пытаюсь понять, где я ошибся, я просматриваю вашу ссылку, но все еще борюсь. - person Ashley Watson; 04.12.2014
comment
header() HTTP-заголовки, отправленные непосредственно в ваш браузер, очистить вызываемую страницу, содержащую эту функцию, не могут отображать какие-либо данные, поскольку она не предназначена для этого, поэтому невозможно сделать echo() до header() - person toto21; 04.12.2014
comment
О, я вижу, мне действительно нужно удалить эхо-строки, внутри которых есть css? - person Ashley Watson; 05.12.2014