如何在刷新页面时正确显示并删除成功消息

时间:2018-05-27 作者:Newbie

我试图在提交表单时显示一条成功消息。我是通过

<?php
    if(isset($email)){  
        echo "<p class=\'alert alert-successful\'>Thank you, we will be in touch soon</p>";
    }
?>
但这样,即使页面刷新,消息也会保留在页面上。如何显示刷新后删除的成功消息?

我只是在学习WordPress和php,我可能做错了。我不想使用插件,因为我只是在收集一封电子邮件(并将信息发送给管理员电子邮件),而使用插件似乎有点过头了。

1 个回复
SO网友:kierzniak

您正在查找Flash消息。Flash消息是存储在会话中的消息,检索后立即删除。您可以在github上找到一些实现:https://github.com/plasticbrain/PhpFlashMessages

<?php 

// Start a Session
// Read about managing session with WordPress

// Instantiate the class
$fm = new \\Plasticbrain\\FlashMessages\\FlashMessages();

// Process form e.g. send an email and add success message
$msg->success(\'Thank you for sending message!\');

// Display message
if( $fm->hasMessages(\'success\') ) {

    /**
     * This line will display success message and also remove it
     * from session. After refresh $fm->hasMessages(\'success\')
     * will return false
     */ 
    $fm->display(\'success\'); 
}

结束

相关推荐

如何强制admin-ajax.php文件通过HTTPS加载?

我最近有一个网站100%支持HTTPS。前端和后端的所有资产都通过HTTPS成功调用,除了admin ajax。php。这会导致任何依赖于文件的功能失败,包括但不限于CF7、Elementor和其他使用AJAX提交的表单等。我得到的错误,你可以在截图中看到是“混合内容:页面位于”https://toursoft.co/contact-us/\' 已通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点\'http://toursoft.co/wp-admin/admin-ajax.php\