回答編集履歴
2
加筆修正
test
CHANGED
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
---
|
22
22
|
|
23
|
+
質問者が直接求めていないかもしれないアドバイスも添えます。
|
24
|
+
|
23
25
|
|
24
26
|
|
25
27
|
PDOを使ったデータベース接続の良いサンプルを提示します。
|
@@ -33,3 +35,45 @@
|
|
33
35
|
drivers_optionの与え方で接続のタイミングで異常時に例外をスローさせる指定もできることを
|
34
36
|
|
35
37
|
覚えておくと良いです。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
```php
|
42
|
+
|
43
|
+
$nickname=$_POST['nickname'];
|
44
|
+
|
45
|
+
$email=$_POST['email'];
|
46
|
+
|
47
|
+
$goiken=$_POST['goiken'];
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
この箇所、POST送信がない場合に「Notice:Undefined index」が生じます。
|
52
|
+
|
53
|
+
これを回避するためには、
|
54
|
+
|
55
|
+
1) `isset($_POST['nickname'])` などとisset()にて存在するかどうかチェックするか、
|
56
|
+
|
57
|
+
2) `filter_input(INPUT_POST, 'nickname')` などとしてPOST送信があってもなくても差し支えないようにする、
|
58
|
+
|
59
|
+
という対応が必要でしょう。
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
```php
|
64
|
+
|
65
|
+
$nickname= htmlspecialchars('nickname');
|
66
|
+
|
67
|
+
$email= htmlspecialchars('email');
|
68
|
+
|
69
|
+
$goiken= htmlspecialchars('goiken');
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
この箇所、html表示用に加工するのはひとまず良いですが、
|
74
|
+
|
75
|
+
もしもファイルに出力したりデータベースに保持しようとするときには、
|
76
|
+
|
77
|
+
表示直前に htmlspecialchars() を使うべきです。
|
78
|
+
|
79
|
+
参考:[「何故htmlspecialcharsを通すのか?」を一言でどうぞ - Qiita](https://qiita.com/mpyw/items/19e6fed835ccdbcb0d6d)
|
1
見直し
test
CHANGED
@@ -11,3 +11,25 @@
|
|
11
11
|
|
12
12
|
|
13
13
|
$userと$passwordを文字列として連結してしまっていて、3個めのパラメータが不足してしまっています。
|
14
|
+
|
15
|
+
「,」と「.」の区別がつかないのであれば、フォントのサイズを大きくするか、
|
16
|
+
|
17
|
+
プログラミングに向いている等幅フォントに入れ替えて表示させるべきかと。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
PDOを使ったデータベース接続の良いサンプルを提示します。
|
26
|
+
|
27
|
+
[PHPでデータベースに接続するときのまとめ - Qiita](https://qiita.com/mpyw/items/b00b72c5c95aac573b71)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
DSN文字列の指定の箇所で、UTF8エンコーディングでの接続を指定することが可能なことと、
|
32
|
+
|
33
|
+
drivers_optionの与え方で接続のタイミングで異常時に例外をスローさせる指定もできることを
|
34
|
+
|
35
|
+
覚えておくと良いです。
|