bibis/public/login/index.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());
}