回答編集履歴

2

加筆修正

2019/09/02 01:07

投稿

退会済みユーザー
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

見直し

2019/09/02 01:07

投稿

退会済みユーザー
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
+ 覚えておくと良いです。