ユーザー登録(入力)


entry.php ではユーザー登録フォームを表示し,入力内容を検査します。ここではデータベースへの登録はまだ行わず,確認済みの入力値をセッション $_SESSION['join'] に保存して check.php に渡します。

source_dbconnect/entry.php

<?php
// entry.php: ユーザー登録(入力)
session_start();
require_once __DIR__ . '/dbconnect.php';
function h($value): string
{
    return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
}


$error = [];
if (!empty($_POST)) {
    if ($_POST['name'] === '' || $_POST['mail'] === '' || $_POST['pass_word'] === '') {
        $error['blank'] = 'blank';
    } elseif (strlen($_POST['pass_word']) < 4) {
        $error['pass_word'] = 'short';
    } else {
        $_SESSION['join'] = [
            'name' => $_POST['name'],
            'mail' => $_POST['mail'],
            'pass_word' => $_POST['pass_word'],
        ];
        header('Location: check.php');
        exit();
    }
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"><title>ユーザー登録</title></head>
<body>
<h1>ユーザー登録</h1>
<?php if (isset($error['blank'])): ?><p style="color:red">入力欄に空白があります。</p><?php endif; ?>
<?php if (isset($error['pass_word'])): ?><p style="color:red">パスワードは4文字以上で入力してください。</p><?php endif; ?>
<form action="" method="post">
    <p>ユーザー名:<input type="text" name="name" value="<?php echo h($_POST['name'] ?? ''); ?>" required></p>
    <p>メールアドレス:<input type="email" name="mail" value="<?php echo h($_POST['mail'] ?? ''); ?>" required></p>
    <p>パスワード:<input type="password" name="pass_word" required></p>
    <p><input type="submit" value="登録内容を確認する"></p>
</form>
<p><a href="index.php">ログイン画面へ戻る</a></p>
</body>
</html>

この段階ではPDO接続を直接使う処理はありませんが,後で入力値の重複確認を行うため,本章前半の統一方針として dbconnect.php を読み込んでいます。


Copyright (c) 2014-2026 T.Kouya Laboratory @ Otemon Gakuin University. All rights reserved.