У меня проблемы с моим кодом. Как-то оператор if, который проверяет сеансы, всегда возвращает true. Даже при старте. Я не могу понять, почему ..Почему эта сессия всегда возвращает true?
Вот моя страница входа.
<?php
session_start();
if(isset($_SESSION['username'])) //<-----This always returns true here for a strange reason.
{
}
?>
Вот мой мой контроллер входа.
if($_POST)
{
if(isset($_POST['submit']) AND $_POST['submit'] == "login")
{
$username = $_POST['username'];
$password = $_POST['password'];
try
{
include '../model/Login.php';
$login = new Login($username, $password);
if($login == TRUE)
{
session_start();
$_SESSION['username'] = $username;
header("Location:../index.php");
}
}
catch (Exception $exc)
{
echo $exc->getMessage();
}
}
}
'var_dump ($ _ SESSION ['username'])' для определения того, что она содержит. Затем проследите, почему он содержит его. – deceze
if (isset ($ _ SESSION ['username']) &&! Empty ($ _ SESSION ['username'])) –
@Manish 'isset &&! Empty' является излишним бессмысленным, просто используйте'! Empty', если вам нужно использовать это вообще. – deceze