php:$_POST[‘name’]を受け取る関数例

   2012/11/10

新しい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()をかけた時に
バックシュラッシュ\(¥)が増殖するのを止めるためのものです。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)