У меня есть класс контроллера пользователя, который содержит свойство и несколько методов. Я изменил значение свойства в одном методе (метод loginCheck), затем использовал функцию заголовка для вызова другого метода (метод профиля) этого класса. проблема в том, что свойство в новом методе было установлено по умолчанию, а значение, которое я дал свойству, не существует! Я был бы благодарен, если бы вы помогли мне в этом случае.
class UserController{
private $user_info = [];
public function login(){
if ($_SERVER['REQUEST_METHOD'] == "POST"){
$post_array = [];
$post_array['login_email'] = htmlspecialchars($_POST['email']);
$post_array['login_password']= htmlspecialchars($_POST['password']);
$post_array['security_question'] = htmlspecialchars($_POST['security_question']);
$post_array['security_answer'] = htmlspecialchars($_POST['security_answer']);
$this->loginCheck($post_array);
}else{
if (Auth::login_status() == false){
require_once 'mvc/view/login.php';
}else{
header("Location:../home/index");
}
}
}
private function loginCheck($post_array){
$result = UserModel::getUser($post_array['login_email'],md5($post_array['login_password']));
if ($result == []){
$post_array['user_existence'] = false;
}else{
$post_array['user_existence'] = true;
}
$security = new Security();
$validator = new Validator($post_array,$security);
$errors = $validator->validate();
if ($errors == []){
$this->user_info = $result;
new Auth($post_array['login_email'],$post_array['login_password']);
header("Location:../user/profile");
}else{
$_SESSION['form_error'] = $errors;
header("Location:../user/login");
}
}
public function profile(){
var_dump(Auth::login_status());
var_dump($this->user_info);
exit();
}
}
На самом деле, когда я дам дамп $ user_info, он равен пустому массиву!