phpの関数について教えてください。
フォームのバリデーションで空白だった場合$errorにblankを、空白でなかった場合sessionに挿入しようと思って書いたコードなのですが文字が入っていてもsessionに何も入りません。

関数のコードは以下です。

function check_blank($post_name) {
    if(isset($_POST[$post_name]) && $_POST[$post_name] !== '') {
        $_SESSION['temp'][$post_name] = 
            htmlspecialchars($_POST[$post_name],ENT_QUOTES, 'UTF-8');
    } else {
        $error['temp'][$post_name] = 'blank';
    }
}