回答編集履歴
1
追記
answer
CHANGED
@@ -11,4 +11,50 @@
|
|
11
11
|
あとはnullはどうするとか、未定義はどうするとか、
|
12
12
|
文字列やマイナスや小数点だったらどうするとかバリデートを検討してください。
|
13
13
|
またUIの方で直接入力をやめさせセレクトボックスで年齢をいれたり
|
14
|
-
生年月日をいれさせて年齢を計算するなどで対応するのが妥当です
|
14
|
+
生年月日をいれさせて年齢を計算するなどで対応するのが妥当です
|
15
|
+
|
16
|
+
# 追記
|
17
|
+
一応、バリデートの方法も提示しておきます。
|
18
|
+
ユーザーから送られてくる$_GET["age"]について以下条件
|
19
|
+
- 0から200までの整数とする
|
20
|
+
- それ以外の値はdefaultのnullとする
|
21
|
+
|
22
|
+
```PHP
|
23
|
+
<?PHP
|
24
|
+
$age=filter_input(INPUT_GET,'age',FILTER_VALIDATE_INT,["options"=>["min_range"=>0,"max_range"=>200,"default"=>null]]);
|
25
|
+
print "戻り値:";
|
26
|
+
var_dump($age);
|
27
|
+
?>
|
28
|
+
<hr>
|
29
|
+
<form method="get">
|
30
|
+
小数点:<input type="text" name="age" value="10.1">
|
31
|
+
<input type="submit" value="go">
|
32
|
+
</form>
|
33
|
+
<form method="get">
|
34
|
+
マイナス:<input type="text" name="age" value="-1">
|
35
|
+
<input type="submit" value="go">
|
36
|
+
</form>
|
37
|
+
<form method="get">
|
38
|
+
空文字:<input type="text" name="age" value="">
|
39
|
+
<input type="submit" value="go">
|
40
|
+
</form>
|
41
|
+
<form method="get">
|
42
|
+
文字列:<input type="text" name="age" value="abc">
|
43
|
+
<input type="submit" value="go">
|
44
|
+
</form>
|
45
|
+
<form method="get">
|
46
|
+
OKな数字:<input type="text" name="age" value="20">
|
47
|
+
<input type="submit" value="go">
|
48
|
+
</form>
|
49
|
+
<form method="get">
|
50
|
+
0:<input type="text" name="age" value="0">
|
51
|
+
<input type="submit" value="go">
|
52
|
+
</form>
|
53
|
+
<form method="get">
|
54
|
+
上限over:<input type="text" name="age" value="300">
|
55
|
+
<input type="submit" value="go">
|
56
|
+
</form>
|
57
|
+
|
58
|
+
```
|
59
|
+
|
60
|
+
こうすれば、is_null($age)のみでチェックできます
|