Возникли проблемы с PHP сеансами - PullRequest
1 голос
/ 12 января 2020

Итак, чтобы описать мою проблему, я пытаюсь войти на мой сайт, создав сеанс с помощью session_start () et c, и в папке сеанса он всегда создает файлы, и даже когда я вхожу в систему. Но как только я нажимаю на кнопку входа в систему и она перенаправляет меня на мою индексную страницу, меня перенаправляют обратно, что означает, что переменные сеанса, которые я проверяю, больше не устанавливаются после перенаправления, и я понятия не имею, почему: / Использование Debian 8 и PHP 5.6.4 уже пробовал с более новыми версиями. Буду признателен за помощь:)

Вот фрагмент кода, никогда не было проблем на старом сервере с этим.

    session_start(); 
$msg = "";  

if (isset($_POST['submit'])) {

    $username = $con->real_escape_string($_POST['username']);
    $password = $con->real_escape_string($_POST['password']);

    if ($username== "" || $password == "")
        $msg = "Please check your inputs!";
    else {
        $sql = $con->query("SELECT id, password, isEmailConfirmed FROM users WHERE name='$username'");
        if ($sql->num_rows > 0) {
            $data = $sql->fetch_array();
            if (password_verify($password, $data['password'])) {
                if ($data['isEmailConfirmed'] == 0)
                    $msg = "Please verify your email!";
                else {
                    $_SESSION["is_login"]=true;
            $_SESSION["username"]=$username;
                    $msg = "You have been logged in";
                    header('Location: https://web.site/index.php');
                    exit();
                }
            } else
                $msg = "Wrong username or password!";
        } else {
            $msg = "Wrong username or password!";
        }
    } 
}

Индекс:

if(!session_id())
{
session_start();
}
if(!isset($_SESSION["username"]))
{ 
header("Location: login.php");
}
...