質問するログイン新規登録

質問編集履歴

1

質問内容を具体的にする為。

2016/05/16 08:30

投稿

earnest_gay
earnest_gay

スコア615

title CHANGED
File without changes
body CHANGED
@@ -23,4 +23,40 @@
23
23
  参考書の記述と解説がほとんどsqliでPDOではない為です。
24
24
 
25
25
 
26
- 宜しくお願いいたします。
26
+ 宜しくお願いいたします。
27
+
28
+
29
+
30
+ ≪追記≫
31
+
32
+ 思った以上に回答してくださる方がいらっしゃいますので、質問を具体的にする為、サンプルのソースを追記します。
33
+
34
+ 冒頭で、「ログインする際の重複アドレスがないかどうか」と記載しておりますが、誤りです。
35
+
36
+ 「新規登録する際の重複アドレスがないかどうか」です。
37
+
38
+ 宜しくお願いします。
39
+
40
+ ```
41
+ // 重複アカウントのチェック
42
+ if (empty($error)) {
43
+ $sql = sprintf('SELECT COUNT(*) AS cnt FROM members WHERE email="%s"',
44
+ mysqli_real_escape_string($db, $_POST['email'])
45
+ );
46
+ $record = mysqli_query($db, $sql) or die(mysqli_error($db));
47
+ $table = mysqli_fetch_assoc($record);
48
+ if ($table['cnt'] > 0) {
49
+ $error['email'] = 'duplicate';
50
+ }
51
+ }
52
+
53
+
54
+ <input type="text" name="email" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['email'], ENT_QUOTES, 'UTF-8'); ?>" />
55
+ <?php if ($error['email'] == 'blank'): ?>
56
+ <p class="error">* メールアドレスを入力してください</p>
57
+ <?php endif; ?>
58
+ <?php if ($error['email'] == 'duplicate'): ?>
59
+ <p class="error">* 指定されたメールアドレスはすでに登録されています</p>
60
+ <?php endif; ?>
61
+
62
+ ```