PHPでのユーザー登録で登録されているメールアドレスを何度も登録できないようにするようにしたく、コードを書いてもバリデーションが効かない状態です。どなたか改善点をお教えいただきたいです。
メールアドレスを空で登録するとはじかれますが重複の方は弾かれないのが現状です。
register.php
<?php require('../dbconnect.php'); session_start(); if (!empty($_POST)) { if ($_POST['email'] == '') { $error['email'] = 'blank'; } if (empty($error)) { $user = $db->prepare('SELECT COUNT(*) AS cnt FROM users WHERE email=?'); $user->execute(array($_POST['email'])); $record = $user->fetch(); if ($record['cnt'] > 0) { $error['email'] = 'duplicate'; } } <dt>メールアドレス<span class="required">必須</span></dt> <dd> <input type="text" name="email" size="35" maxlength="255"value="<?php echo htmlspecialchars($_POST['email'], ENT_QUOTES); ?>" /> <?php if ($error['email'] == 'blank'): ?> <p class="error">* メールアドレスを入力してください</p> <?php endif; ?> <?php if ($error['email'] == 'duplicate'): ?> <p class="error">* 指定されたメールアドレスはすでに登録されています</p> <?php endif; ?> </dd>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 06:21
2021/09/21 06:24
2021/09/21 06:34
2021/09/21 06:46