我们如何将错误/成功消息存储到下一页

时间:2013-03-14 作者:Adi

我正在现场工作。我使用一些自定义error/success 前端表单的消息,但当前它在同一页上显示消息,但只要我刷新页面或将用户重定向到下一页,消息就不会保存。要保存success messages 我使用code

$success = __(\'You have successfully Login.\', \'frontendprofile\');
对于错误消息,我使用默认变量$error. 如果我刷新页面,如何将它们保存到下一页或何时?

1 个回复
最合适的回答,由SO网友:Mike Madern 整理而成

您可以将消息保存在$_SESSION 变量这样,将保留这些值,直到您决定再次删除它们为止。

function save_message( $type, $message = \'\' ) {
    $_SESSION[\'messages\'][$type] = $message;
}

function get_messages() {
    $return = \'\';

    if ( isset( $_SESSION[\'messages\'] ) && is_array( $_SESSION[\'messages\'] ) ) {
        foreach( $_SESSION[\'messages\'] as $type => $message ) {
            $return .= sprintf( \'<p class="%1$s">%2$s</p>\', $type, $message );
        }
    }

    if ( strlen( $return ) > 0 )
        return $return;

    return false;
}

function clean_messages( $type = false ) {
    if ( ! $type )
        $_SESSION[\'messages\'] = array();

    else
        unset( $_SESSION[\'messages\'][$type];
}
像这样的
您可以按如下方式使用它:

save_message( \'success\', __( \'You have successfully Login.\', \'frontendprofile\' ) );

if ( $messages = get_messages() ) {
    echo $messages;

    clean_message(\'success\');
}

结束

相关推荐

Displaying oEmbed errors?

有时,通过oEmbed嵌入项目是不可能的,例如,当YouTube视频已禁用嵌入时。The oEmbed service will return a 401 Unauthorized, 并且不会转换代码。有没有办法通知用户这一点?当前的工作流是非直观的(至少对我来说),我更喜欢在WordPress页面上,或者更好的是,在编辑器中显示一条消息,说明对象无法嵌入。