如何让用户返回PHP页面?
我已经在我的应用程序中实现了会话,但我需要允许登录用户使用后退按钮转到上一页.
如何确保会话不会过期并允许用户查看上一页? 这是我的代码 <?php //Start session if (session_status() !== PHP_SESSION_ACTIVE) { session_start(); } $User = $_SESSION["User"]; //Page content ?> 我已经启动了会话,当我在浏览器上使用后退按钮时,我得到一个读取会话已过期的页面.我不想发生这种事. 解决方法
在每个页面顶部的PHP中,在开始之前开始你的会话< html>标签
<?php session_start(); ?> <html> 在你的php某处设置你的会话变量注意这个值必须是可序列化的 <?php $_SESSION["variable"] = "value"; ?> 然后,只要你想访问该会话变量,你就可以在调用session_start()之后执行以下操作; <?php echo $_SESSION["variable"]; ?> 如果以这种方式处理会话,会话变量将在以前和将来的页面上可用. 警告: 根据从服务器发送的浏览器和标头,当您返回页面时,它会重新加载页面,因为它在缓存中,因此请考虑以下事项: >用户转到页面并且没有设置会话变量 >用户将显示第一页的会话前缓存版本 >用户刷新页面 打嗝的原因是有些浏览器并不总是在后退按钮上发出新请求,有时它会从浏览器缓存中加载.阅读这个答案的最后:https://stackoverflow.com/a/1313941/884453 编辑 您在上面发布了代码,首先检查了session_status.这是不正确的.你总是需要这样session_start(); <?php //Start session session_start(); // User is either pulled from the session or is null $User = $_SESSION["User"] ? !empty($_SESSION["User"]) : NULL; //Page content ?> if(session_status()!== PHP_SESSION_ACTIVE)的代码{仅在某些其他代码(通常在框架中)已经启动会话的情况下才有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |