Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在几秒钟后使PHP中的会话消息过期,而不是刷新页面?_Php_Session - Fatal编程技术网

如何在几秒钟后使PHP中的会话消息过期,而不是刷新页面?

如何在几秒钟后使PHP中的会话消息过期,而不是刷新页面?,php,session,Php,Session,我需要保持此“会话”“消息”处于活动状态几秒钟,然后销毁它,而不是刷新页面。请提供任何帮助! 下面是代码: <?php if(isset($_SESSION['message'])): ?> <div class="alert alert-<?=$_SESSION['msg_type']?>"> <?php echo $_SESSION['message']; unset($_SESSION['message']); ?

我需要保持此“会话”“消息”处于活动状态几秒钟,然后销毁它,而不是刷新页面。请提供任何帮助! 下面是代码:

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

我认为没有一种简单的方法(或任何方法)可以用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 ?>

setTimeout(函数(){
document.querySelectorAll('.alert').style.display='none';
}, 5000); // 将在5秒后执行此功能