フォーク元 tak4/bibis
32 行
899 B
PHP
32 行
899 B
PHP
<?php
|
|
require_once(__DIR__ . '/../../require.php');
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|
do_get();
|
|
}
|
|
else if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
do_post();
|
|
}
|
|
|
|
function do_get() {
|
|
if (!ENABLE_LOGIN) { return on_error(400, ['ログインは停止中。']); }
|
|
|
|
output_html([], ['header.php', 'login.php']);
|
|
}
|
|
|
|
function do_post() {
|
|
if (!ENABLE_LOGIN) { return on_error(400, ['ログインは停止中。']); }
|
|
if (!has_cookie()) { return on_error(400, ['Cookie が無効。']); }
|
|
|
|
$id = mbtrim($_POST['id'] ?? '');
|
|
$password = $_POST['password'] ?? '';
|
|
if ($id === '' || $password === '') { return on_error(400, ['ID またはパスワードが未入力。']); }
|
|
|
|
$user = auth_user($id, $password);
|
|
if (!$user) { return on_error(400, ['ID またはパスワードが不一致。']); }
|
|
|
|
$_SESSION['user'] = $user;
|
|
http_response_code(301);
|
|
header('Location: ' . sitebase());
|
|
}
|