首页 > 解决方案 > 如何在几秒钟后不通过刷新页面使 PHP 中的会话消息过期?

问题描述

我需要让这个“会话”“消息”存活几秒钟,然后将其销毁,不要通过刷新页面来提供任何帮助!下面是代码:

<?php if(isset($_SESSION['message'])): ?>
<div class="alert alert-<?=$_SESSION['msg_type']?>">
<?php 
   echo $_SESSION['message'];
   unset($_SESSION['message']);
?>
</div>
<?php endif ?>

标签: phpsession

解决方案


我不认为有一个简单的方法(或任何方法)可以用 PHP 做到这一点。

使用 JavaScript 使这变得非常容易:

<?php if (isset($_SESSION['message'])): ?>
    <div class="alert alert-<?= $_SESSION['msg_type'] ?>">
        <?php
        echo $_SESSION['message'];
        unset($_SESSION['message']);
        ?>
    </div>
    <script>
        setTimeout(function() {
          document.querySelectorAll('.alert').style.display = 'none';
        }, 5000); // Will execute this function after 5 seconds
    </script>
<?php endif ?>

推荐阅读