你如何使PHP中的trigger_error重定向到指定的页面?

时间:2018-01-22 10:46:53

标签: php

<?php if(!$user->data['is_registered'])
{
    if ($user->data['user_id'] != ANONYMOUS)
    {
        trigger_error('NOT_AUTHORISED');
    }

    login_box('', $user->lang['NOT_AUTHORISED']);
}
?>

我试图覆盖此代码的默认操作,只是在trigger_rror上重定向到我选择的页面。

<?php if(!$user->data['is_registered'])
{
    if ($user->data['user_id'] != ANONYMOUS)
    {
        trigger_error($redirect="error.php", E_ALL);
    }
}
?>

它的许多变化都没有运气。有人对我有所了解吗?

1 个答案:

答案 0 :(得分:0)

如果错误消息(errstr)为"NOT_AUTHORISED",您必须使用set_error_handler()来捕获错误并重定向。

set_error_handler("myErrorHandler");

function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    if ($errstr == "NOT_AUTHORISED") {
        // TODO : redirect
    }
}