質問編集履歴
1
質問内容を具体的にする為。
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
|
+
```
|