我试图创建一个类似'返回按钮的浏览器。
到目前为止,与Session中最新版本不同的每个Request :: header('referer')都将被推送到会话数组。接下来我需要做的事情,这就是我陷入困境的地方。当我点击我的返回按钮时,我当然会被重定向到我的会话数组中的最后一个网址。唯一不对的是我需要确保在单击返回按钮时,它不应该运行代码将Request :: header('referer')推送到会话中
View::composer('backend.*', function($view)
{
// If Session[smartBacklinks] is set.
if(Session::has('smartBacklinks')){
// Get the last item in Session array
$slice = array_slice(Session::get('smartBacklinks'), -1, 1);
// Check if Request::header('referer') is equal to the $slide[0]
if(Request::header('referer') != $slice[0]){
// Check if Request::header('referer') is empty
if(Request::header('referer') != '') Session::push('smartBacklinks', Request::header('referer'));
}
// If session[smartBacklinks] is not set. - Set
}else {
Session::put('smartBacklinks', [Request::header('referer')]);
$slice = array_slice(Session::get('smartBacklinks'), -1, 1);
}
Session::save();
$view->with('smartBacklinks', $slice[0]);
});
提前致谢,我希望有人理解我的问题。
答案 0 :(得分:0)
您可以尝试使用带有隐藏值的返回按钮的表单,并在每个请求上检查该值。如果提交了退货表单,则不要运行推荐人推送代码。
e.g。
if(empty($_POST['hidden_return'])){
// your push code
}else{
// the return button was clicked. Handle here
}
html会像这样的东西
<form method="post">
<input type="hidden" name="hidden_return" value="some_random_value" />
<input type="submit" value="Click Here To Go Back!" />
</form>
&#13;