Если бы я был тобой, я бы создал класс для пользователя, как этот
class User{
public static function Login($data){
$_SESSION['user_id']=$data['user_id'];
$_SESSION['username']=$data['username'];
}
, после этого я бы создал функцию post и get для всего моего проекта
function post($name)
{
if (isset($_POST[$name])){
if (is_array($_POST[$name]))
return array_map(function($item){
return htmlspecialchars(trim($item));
}, $_POST[$name]);
return htmlspecialchars(trim($_POST[$name]));
}
}
function get($name)
{
if (isset($_GET[$name])){
if (is_array($_GET[$name]))
return array_map(function($item){
return htmlspecialchars(trim($item));
}, $_GET[$name]);
return htmlspecialchars(trim($_GET[$name]));
}
}
, и ясоздаст функцию для управления моими формами
function form_control(...$except_these){
unset($_POST['submit']);
$data = [];
$error = false;
foreach ($_POST as $key => $value){
if (!in_array($key, $except_these)&& !post($key)){
$error = true;
}else {
$data[$key] = post($key);
}
}
if ($error){
return false;
}
return $data;
}
СЕЙЧАС ВХОД
if (post('submit')){
if ($data = form_control()){
$row = $db->query("SELECT * FROM users WHERE username = $data['username']")->fetch(PDO::FETCH_ASSOC);
if (!$row){
$error = 'no such user.';
} else {
$password_verify = password_verify($data['password'], $row['password']);
if ($password_verify){
User::Login($row);
header('Location:');
} else {
$error = 'incorrect pass';
}
}
} else {
$error = 'enter your details.';
}
}