首页 > 解决方案 > 删除 PHP 手动触发错误消息的最后一部分

问题描述

当有人提交包含单词列表中的关键字的联系表单时,我试图触发警告或错误消息。到目前为止,该错误有效,但我希望自定义消息在末尾不包含以下“在 /home/austincyberknife/public_html/wp-content/plugins/Custom_Caldera_Spam_Filter.php_/Custom_Caldera_Spam_Filter.php 第 83 行”消息。那可能吗?错误是提示用户在没有该术语的情况下重新提交他们的联系表,并且不需要查看错误的来源。


    if( $block ){
        //Error Message
        trigger_error("WARNING: INVALID COMMENT. PLEASE REMOVE COMMENT AND HIT SUBMIT.", E_USER_ERROR);
    }else{
        //Email address that gets the other messages
        $mailer[ 'recipients' ] = array( 'email@email.com'  );

    }

    return $mailer;

编辑 - 我最终将它添加到 functions.php 文件中,它似乎正在工作。

/************************************************************/
/* Contact Spam Error */
/************************************************************/
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting
        return;
    }

    switch ($errno) {
    case E_USER_ERROR:
        echo "<b>WARNING:</b> $errstr<br />\n";
        exit(1);
        break;
    }

    /* Don't execute PHP internal error handler */
    return true;
}

// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");

标签: phptriggers

解决方案


推荐阅读