В программе, которую я пытаюсь заставить работать, я не могу понять, почему я должен войти в систему дважды, чтобы установить сеанс. Я перехожу на разные страницы следующим образом
<?php
if (!isset($_REQUEST['content']))
{
if (isset($_SESSION['gallery_admin']))
include("edit.inc.php");
else
include("adminlogin.php");
}
else
{
$content = $_REQUEST['content'];
$nextpage = $content . ".inc.php";
include($nextpage);
} ?>
и у меня есть страница для входа пользователя в систему с помощью следующего класса, который возвращает session_var на страницу с именем adminlogin.php. Класс User делает то, что должен, но по какой-то причине я должен войти в систему дважды. Я использовал тот же код, но без классов, и он отлично работает. Новичок в php и пытается изучить ООП и может использовать помощь.
Спасибо
public function CheckUser ($username, $hashedpassword)
{
$query = "select count(*) from user where username = ? and password = ?";
$dbConnection = $this->connection;
$stmt = mysqli_prepare($dbConnection,$query);
mysqli_stmt_bind_param($stmt, 'ss', $username, $hashedpassword);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt,$userCount);
mysqli_fetch($stmt);
if ($userCount > 0)
{
//$_SESSION['gallery_admin'] = $username;
//$user = $this->username;
//$this->session_var = $_SESSION['gallery_admin'];
$this->session_var = $username;
return $this->session_var;
//include ("adminmain.inc.php");
//header("Location: admin.php");
}
else {
return "in the else";
}
}
adminlogin.php
<?php
if (isset($_POST['submit'])) {
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$hashedpassword = md5($password);
$instanceOfUserClass = new User();
$found_user = $instanceOfUserClass->checkUser($username, $hashedpassword);
//$instanceOfUserClass->checkUser($username, $hashedpassword);
//echo $instanceOfUserClass->session_var;
if ($found_user ) {
//$user = $instanceOfUserClass->session_var;
$_SESSION['gallery_admin'] = $found_user;
include ("edit.inc.php");
//header("Location: admin.php");
} else {
//echo "No User";
}
}
?>