HOME > PHP> form

filter_input

formの値の受け取りは直に代入するより、filter_inputを使う。
配列も対応!filter_input関数の使い方

何もしない場合
filter_input(INPUT_POST, '');
filter_input(INPUT_POST, 'aaaa');

配列を受け取る場合
filter_input(INPUT_POST, 'bbbb', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);

文字列をエスケープしたい場合
filter_input(INPUT_POST, 'cccc', FILTER_SANITIZE_STRING);
PHP8.1から非推奨になったため、
filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
textareaのnl2brが効かなくなるので、改行があるものは別の方法で取得。
ID説明
FILTER_SANITIZE_STRINGタグを取り除く。オプションで、 特殊文字を取り除いたりエンコードしたりする
FILTER_SANITIZE_SPECIAL_CHARS‘”<>& および ASCII 値が 32 未満の文字を HTML エスケープする。オプションで、 特殊文字を取り除いたりエンコードしたりする
FILTER_SANITIZE_FULL_SPECIAL_CHARShtmlspecialchars() に ENT_QUOTES を指定してコールするのと同じ
FILTER_VALIDATE_EMAILemailの検証
存在しない場合は NULL
誤ったメールアドレスが入力された場合は、FALSE
正しい書式の場合、変数の値