teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

注記

2017/05/25 03:38

投稿

yambejp
yambejp

スコア117944

answer CHANGED
@@ -10,6 +10,7 @@
10
10
  POST値の参照は長く以下a1のような方式を取られていましたが
11
11
  a2のようにPHP5以降インテリジェントでスマートな[filter_input()](http://jp2.php.net/manual/ja/function.filter-input.php)が
12
12
  整備されたこともあり使わない手はないと思います。
13
+ (filter_inputはデータの整合性をチェックしたり、デフォルト値の指定をすることができます)
13
14
  またa3のような書き方もできますが、任意にエラーを無視する方式のため
14
15
  あまりおすすめできません。
15
16
  参考になれば幸いです

1

追記

2017/05/25 03:38

投稿

yambejp
yambejp

スコア117944

answer CHANGED
@@ -3,4 +3,31 @@
3
3
  $_SERVER["SCRIPT_NAME"]を検討ください
4
4
 
5
5
  また全体的に冗長な書き方をされているようなので
6
- HTML部分はテンプレート化した方がよいと思いますよ
6
+ HTML部分はテンプレート化した方がよいと思いますよ
7
+
8
+ # 追記
9
+ 念の為追記しておきます。
10
+ POST値の参照は長く以下a1のような方式を取られていましたが
11
+ a2のようにPHP5以降インテリジェントでスマートな[filter_input()](http://jp2.php.net/manual/ja/function.filter-input.php)が
12
+ 整備されたこともあり使わない手はないと思います。
13
+ またa3のような書き方もできますが、任意にエラーを無視する方式のため
14
+ あまりおすすめできません。
15
+ 参考になれば幸いです
16
+ ```PHP
17
+ <form method="post">
18
+ <input type="text" name="a">
19
+ <input type="submit" value="go">
20
+ </form>
21
+
22
+ <?PHP
23
+ $a1=isset($_POST["a"])?$_POST["a"]:NULL;
24
+ var_dump($a1);
25
+
26
+ $a2=filter_input(INPUT_POST,"a");
27
+ var_dump($a2);
28
+
29
+ $a3=@$_POST["3"];
30
+ var_dump($a2);
31
+ ?>
32
+
33
+ ```