現在、お問い合わせフォームを作成しているのですが、その中で疑問に思った点が御座いましたので、アドバイス頂けますと幸いです。
流れとしましては、index.php → confirm.php → thanks.php で遷移しています。
index.phpで内容を送った際に、今まではhtmlspecialcharsで受け取った内容を確認として画面に表示させていたのですが、この度、filter_input_array というものを知りまして、色々とためしているうちに、それぞれの使いどころ?使い道についてよくわからなくなってしまいました。
といいますのが、index.phpで送った内容を、正しい使い方かわからないのですが、以下の様に指定してみました。
php
1// confirm.php 2 3session_start(); 4$post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); 5$_SESSION = $post; 6 7//確認表示 8echo "お名前:" . $_SESSION["name"]; 9echo "Email:" . $_SESSION["email"]; 10…
そうすると、filter_input_arrayが効いているのか、送られたデータは綺麗な状態になっていて、かつその状態のまま次のページのthanks.phpでもデータの保存や表示などに使えるので、とても便利に思った次第なのですが、この認識で何か問題が御座いますでしょうか?
※$_SESSION = $post; としているのは、次のページでもそのままSESSIONの情報が利用できると思いまして…。
受け取ったPOSTの時点でfilter_input_array を使えば、その後は1つ1つにhtmlspecialcharsなどの定義も行わなくてよいのではと思ったのですが、やはりhtmlspecialcharsとfilter_input_arrayには、明確に異なる利用の違いが御座いますでしょうか?
アドバイスのほど宜しくお願いいたします。

回答1件
あなたの回答
tips
プレビュー