回答編集履歴

1

修正

2019/12/31 03:56

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -1,4 +1,34 @@
1
+ 原因としては画面初期表示時点ではREQUEST METHODはGETであるため$_POSTが空であることです。
2
+
3
+
4
+
5
+ この手のものは個別に初期値空を設定した変数を用意しておきarray_key_exists()やisset()でチェックした上で変数に受け取るのが定石ですが、
6
+
7
+ ```php
8
+
9
+ $input_name = "";
10
+
11
+ if(array_key_exists('name',$_POST)){
12
+
13
+ $input_name = $_POST['name'];
14
+
15
+ }
16
+
17
+
18
+
19
+ // バリデーション
20
+
21
+
22
+
23
+ // 表示
24
+
25
+
26
+
27
+ ```
28
+
29
+
30
+
1
- 直接$_POST参照するとコードも長くなるので、バリデーションするときも含めて[filter_input()](https://www.php.net/manual/ja/function.filter-input.php)で1回受け取っては
31
+ 直接$_POST参照するとコードも長くなるので、バリデーションするときも含めて[filter_input()](https://www.php.net/manual/ja/function.filter-input.php)で1回受け取ると短く済みます
2
32
 
3
33
 
4
34