回答編集履歴

1

追記

2016/09/16 01:34

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -25,3 +25,95 @@
25
25
  またUIの方で直接入力をやめさせセレクトボックスで年齢をいれたり
26
26
 
27
27
  生年月日をいれさせて年齢を計算するなどで対応するのが妥当です
28
+
29
+
30
+
31
+ # 追記
32
+
33
+ 一応、バリデートの方法も提示しておきます。
34
+
35
+ ユーザーから送られてくる$_GET["age"]について以下条件
36
+
37
+ - 0から200までの整数とする
38
+
39
+ - それ以外の値はdefaultのnullとする
40
+
41
+
42
+
43
+ ```PHP
44
+
45
+ <?PHP
46
+
47
+ $age=filter_input(INPUT_GET,'age',FILTER_VALIDATE_INT,["options"=>["min_range"=>0,"max_range"=>200,"default"=>null]]);
48
+
49
+ print "戻り値:";
50
+
51
+ var_dump($age);
52
+
53
+ ?>
54
+
55
+ <hr>
56
+
57
+ <form method="get">
58
+
59
+ 小数点:<input type="text" name="age" value="10.1">
60
+
61
+ <input type="submit" value="go">
62
+
63
+ </form>
64
+
65
+ <form method="get">
66
+
67
+ マイナス:<input type="text" name="age" value="-1">
68
+
69
+ <input type="submit" value="go">
70
+
71
+ </form>
72
+
73
+ <form method="get">
74
+
75
+ 空文字:<input type="text" name="age" value="">
76
+
77
+ <input type="submit" value="go">
78
+
79
+ </form>
80
+
81
+ <form method="get">
82
+
83
+ 文字列:<input type="text" name="age" value="abc">
84
+
85
+ <input type="submit" value="go">
86
+
87
+ </form>
88
+
89
+ <form method="get">
90
+
91
+ OKな数字:<input type="text" name="age" value="20">
92
+
93
+ <input type="submit" value="go">
94
+
95
+ </form>
96
+
97
+ <form method="get">
98
+
99
+ 0:<input type="text" name="age" value="0">
100
+
101
+ <input type="submit" value="go">
102
+
103
+ </form>
104
+
105
+ <form method="get">
106
+
107
+ 上限over:<input type="text" name="age" value="300">
108
+
109
+ <input type="submit" value="go">
110
+
111
+ </form>
112
+
113
+
114
+
115
+ ```
116
+
117
+
118
+
119
+ こうすれば、is_null($age)のみでチェックできます