回答編集履歴

1

追記

2017/05/18 12:54

投稿

退会済みユーザー
test CHANGED
@@ -19,3 +19,43 @@
19
19
 
20
20
 
21
21
  post の取扱は php でアプリ作る時の基本なので、もう少し良い教材を選んだほうがイイです。
22
+
23
+
24
+
25
+ ** 追記 **
26
+
27
+ このままでは、このコードを活かしそうなので、補足します。
28
+
29
+
30
+
31
+ ・post データの取扱が適切ではない
32
+
33
+ そもそも post 受け取り時に`E_NOTICE` が出るようなコードを参考にするのは間違っています。
34
+
35
+ すでに s8_chu さんが修正案を出してくれていますが、個人的には以下の書き方が好きです。
36
+
37
+ `$staff_name= filter_input(INPUT_POST, 'name');`
38
+
39
+
40
+
41
+ ・ハッシュ化が現在の推奨方法と違う
42
+
43
+ PHP でパスワードを扱うときには`password_hash()`の使用が推奨されています。
44
+
45
+ `md5()`が不適切な理由も以下に記述があります。
46
+
47
+ [安全なパスワードハッシュ](http://php.net/manual/ja/faq.passwords.php)
48
+
49
+ また、`staff_add_check.php`でハッシュ化してますが、一般的には`staff_add_done.php`でハッシュ化します。
50
+
51
+
52
+
53
+ ・htmlspecialchars の使用箇所が適切ではない
54
+
55
+ htmlspecialchars は出力時に使用します。入力値を変換して比較するとか、あり得ない暴挙です。
56
+
57
+
58
+
59
+ さらに追記すると、比較演算子に`==`も推奨されません。
60
+
61
+ 特別な理由がない限り(特に初心者のうちは)、`===`や`!==`の型まで含めた比較を行うことをオススメします。