POSTで送られた値は、全て文字列型として扱われるのでしょうか?
以下のようなフォームがあったとします。
<form name="sample_form" action="#" method="post"> <input type="text" name="sample_test"> <input type="submit" name="sample_submit" value="検索"> </form> <?php if( isset($_POST['sample_submit']) ){ $test = $_POST['sample_test']; ?>
上記の環境で、
$_POST['sample_test']の中身が、die("「HELLO」");
の場合、どうなるのだろうと思い実験したところ、何も起きませんでした。
die("「HELLO」");
がPHPとしてわたってきていたら、画面が白くなって「HELLO」と表示されると思うのですが、ならないということは、文字列として扱われているということなのでしょうか。
以前、何かの記事で、POSTの中身が「文字列であるか」を確認し、「文字列でない場合はエラーを返す」ようにしている記事を読んだ記憶があります。
しかし、PHPにおいて、POSTで送られた値が全て文字列型として扱われる仕様なのであれば、個人的に文字列型かどうかの検証はする必要がないと思うのですが、どうなのかなと不思議に思い、質問させて頂きます。
もしかして、$_POSTで送られてくる中身が文字列以外の例外的なケースなどもあるのでしょうか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/03 07:32