回答編集履歴

2

修正

2020/08/07 05:25

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -48,6 +48,8 @@
48
48
 
49
49
  「未入力」なら||(or)ではなく&&(and)条件にすべきではないでしょうか。
50
50
 
51
+ それか||のままで` !isset() || ( isset() && mbstrlen() )`
52
+
51
53
 
52
54
 
53
55
  [filter_input()](https://www.php.net/manual/ja/function.filter-input.php)使った方が良さそうに思います。

1

追記

2020/08/07 05:25

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- if( isset( $_POST["name"] ) || mb_strlen( $_POST["age"] ) === 0 ){}
29
+ if( isset( $_POST["name"] ) || mb_strlen( $_POST["name"] ) === 0 ){}
30
30
 
31
31
 
32
32
 
@@ -39,3 +39,23 @@
39
39
 
40
40
 
41
41
  しかし、
42
+
43
+ `if( isset( $_POST["name"] ) || mb_strlen( $_POST["name"] ) === 0 ){}`
44
+
45
+
46
+
47
+ これだと、$_POSTにnameがある時点で、「"nameを入力してください"」に入りますけど、そういう仕様で問題ないですか?
48
+
49
+ 「未入力」なら||(or)ではなく&&(and)条件にすべきではないでしょうか。
50
+
51
+
52
+
53
+ [filter_input()](https://www.php.net/manual/ja/function.filter-input.php)使った方が良さそうに思います。
54
+
55
+
56
+
57
+ その他:
58
+
59
+ ・htmlspecialchars()あてる場所そこじゃダメです。画面出力のところにのみ入れてください。
60
+
61
+ ・ exit();そこに書いてしまうと</body>とか出力されませんよ。