← 完成版とシステムの改良へ戻る / ソース一覧へ
check.php
このページはソースコードを表示するためのHTMLです。source_common/check.php への直接リンクではないため,PHPスクリプトは実行されません。
<?php
// check.php: ユーザー登録(登録)
session_start();
require_once __DIR__ . '/common/common.php';
if (!isset($_SESSION['join'])) {
header('Location: entry.php');
exit();
}
$sql = 'SELECT COUNT(*) AS cnt FROM member WHERE name = :name OR mail = :mail';
$stmt = $dbh->prepare($sql);
$stmt->bindValue(':name', $_SESSION['join']['name'], PDO::PARAM_STR);
$stmt->bindValue(':mail', $_SESSION['join']['mail'], PDO::PARAM_STR);
$stmt->execute();
$count = (int)$stmt->fetch()['cnt'];
if ($count === 0) {
$hash = password_hash($_SESSION['join']['pass_word'], PASSWORD_DEFAULT);
$sql = 'INSERT INTO member (name, pass_word, mail) VALUES (:name, :pass_word, :mail)';
$stmt = $dbh->prepare($sql);
$stmt->bindValue(':name', $_SESSION['join']['name'], PDO::PARAM_STR);
$stmt->bindValue(':pass_word', $hash, PDO::PARAM_STR);
$stmt->bindValue(':mail', $_SESSION['join']['mail'], PDO::PARAM_STR);
$stmt->execute();
unset($_SESSION['join']);
}
?>
<!DOCTYPE html>
<html lang="ja">
<head><meta charset="UTF-8"><title>登録結果</title></head>
<body>
<?php if ($count === 0): ?>
<h1>登録完了</h1><p>ユーザー登録が完了しました。</p><p><a href="index.php">ログイン画面へ</a></p>
<?php else: ?>
<h1>登録エラー</h1><p>同じユーザー名またはメールアドレスが登録済みです。</p><p><a href="entry.php">戻る</a></p>
<?php endif; ?>
</body>
</html>