【问题标题】:Browser "like" return button, with sessions浏览器“喜欢”返回按钮,带有会话
【发布时间】:2014-12-09 20:53:56
【问题描述】:

我正在尝试创建一个浏览器“喜欢”返回按钮。

为此,我创建了 Code below 来将 Request::header('referer') 推送到我的 Session::get('smartBacklinks' )

到目前为止,与 Session 中最新的不同的每个 Request::header('referer') 都会被推送到 session 数组中。我需要做的下一件事,这就是我卡住的地方。当我单击返回按钮时,我当然会被重定向到会话数组中的最后一个 url。这里唯一的错误是我需要确保当点击返回按钮时,它不应该运行代码来将 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]);
    });

先谢谢了,希望有人能理解我的问题。

【问题讨论】:

    标签: php session laravel laravel-4


    【解决方案1】:

    您可以尝试使用带有一些隐藏值的返回按钮的表单,并在每个请求上检查该值。如果提交了退货表单,则不会运行推荐人推送代码。

    例如

    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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多