php:$_POST[‘name’]を受け取る関数例
新しいphpでは(<form>で)入力された値を$_POST[]で受け取る時に
未入力(未定義)だと警告が出るようになりました。
以前(php4)は、いきなり $hoge=$_POST[‘hoge’]; としてもOKで
$_POST[‘hoge’]が未定義なら黙ってNULLが入るので処理は簡単でした。
また、ユーザ入力の場合は<h1>などと入力されると
レイアウトが崩れたり、セキュリティ的なリスクもあるので
htmlspecialchars()も必要です。
それらをまとめて$_POST[]を受け取る関数を用意するのが便利でしょう。
次はサンプルです($_GET[]でも同様です)。
function get_post($name) {
$r=NULL;
if (isset($_POST[$name])) {
$r=$_POST[$name];
$r=stripslashes($r);
$r=htmlspecialchars($r,ENT_QUOTES);
}
return $r;
}
$hoge=get_post(‘hoge’); という形で使います。
stripslashes()は、繰り返しhtmlspecialchars()をかけた時に
バックシュラッシュ\(¥)が増殖するのを止めるためのものです。
この記事へのコメントはこちら