独立页面导航问题我的意思是在一个项目中我有超过5页。 用户必须按照订单浏览页面(第1页 - >第2页 - >第3页....)。 如果用户直接点击页面3,我将重定向到第一页。 我这样做在第1页当用户点击提交按钮时我自己将变量添加到会话(usernamespace-> navpage ='page 2')
在第2页中,我正在检查
if(usernamespace-> navpage =='page 2')
//没什么
其他
重定向到第1页;
我遇到问题,当我在第3页用户点击浏览器后退按钮时,它不会重定向到第2页,因为usernamespace-> navpage =='page 3'in history。
请建议我更改与上述浏览器问题无关的导航逻辑。
答案 0 :(得分:1)
将会话数据设为数组,并根据已完成的页面设置密钥:
//page1
$_SESSION['pages']=[];
$_SESSION['pages'][1]=true;
//page2
if(!isset($_SESSION['pages'][1])
//redirect
$_SESSION['pages'][2]=true;
//page3
if(!isset($_SESSION['pages'][2])
//redirect
$_SESSION['pages'][3]=true;
//etc etc
答案 1 :(得分:0)
希望我能正确理解你的问题。你能在那里放一个OR吗?
if(usernamespace-> navpage == 'page 2' || usernamespace-> navpage == 'page 3' )
//nothing
或者,如果这不适合您的应用程序,您可以创建另一个会话var,即上一页...此变量在导航页面更新时获取之前的值..
用户点击第1页上的提交,然后:
usernamespace-> navpage = 'page 2'
usernamespace-> prevpage = 'page 1'
然后在第2页你有......
if(usernamespace-> navpage == 'page 2' || usernamespace-> prevpage == 'page 2')
//nothing
然后,当用户到达第3页时,请确保准备工作保持在第2页'只要他们不提交。