2016-08-13 5 views
0

google chromeの戻る機能を複製する方法を学び、specific pageに戻ってきます。ここでGoogle Chromeのgo back機能を複製する

は、私の場合です:

これは、メインページ

www.mysite.com/main 

ある今のメインページはこちらURLの異なる型を持つことができる例です。

  1. www.mysite.com/main/type
  2. www.mysite.com/main/type/pagenum
  3. ユーザーがこのようなリンク(www.mysite.com/view/title-of-the-linkを表示しようとしたときwww.mysite.com/main/dog/labrador/3

    そして:

今、例えば、ユーザは、このURLを訪問しました

if($_GET['type']) { 
    $sess_type = '/' . $_GET['type']; 
} 

if($_GET['category']) { 
    $sess_cat = '/' . $_GET['category']; 
} 

if($_GET['pagenum']) { 
    $sess_page = '/' . $_GET['pagenum']; 
} 

$_SESSION['link'] = '/main' . $sess_type . $sess_cat . $sess_page; 
:)、私は例えば、私はこの使用して $_SESSION変数を解決する一つの解決策を持っている www.mysite.com/main/dog/labrador/3

に戻ります戻ってリンクボタンを持っています

これは仕事を仕事にしているので、私は自分のlocalhostでこの考え方をしようとしました。しかし、問題が発生しました。例:

最後の$_SESSION['link']が - >www.mysite.com/main/cat/persian/5の場合、ユーザーは過去の履歴を再度表示しようとしました。そして、彼らはこのようなリンクを再訪問しました。例えばwww.mysite.com/view/labrador-is-the-titleです。その後、戻るボタンに保存する$_SESSSION['link']www.mysite.com/main/cat/persian/5になります。それが私の解決策で見た問題です。

私の質問は、これを正しく行うにはどうすればいいですか?どんな提案や助言も私には大いに役立ちます!

答えて

0

まずは、Javascriptを同じものに使用することをお勧めします。それはあなたが使用できるヒストリーapiを持っています。 PHPでこれをやりたければ、ブラウザのバックボタンがどれくらい正確に動作するか少し考えてください。これは、すべてのURLを格納するスタックに基づいています。各PHPスクリプト

<?php 
    array_push($_SESSION["session_stack"],$_SERVER['REQUEST_URI']); 
?> 

が戻って最後のページへ

<?php 
    $url = array_pop($_SESSION["session_stack"]); 
    header('Location: '.$url); 
?> 

を行くために、次のコードを呼び出す前に、ここでは、

を始めるには少しのコードでは、基本的にこれは、スタックを維持し、次のコードを呼び出していますブラウザーと同様のサーバー側にあります。コードの2番目の部分を呼び出すと、スタックの最後の要素にリダイレクトされます。

+0

ありがとう、私はこれを試してみます。 Thansk – googol8080

+0

@ googol8080もう一度私はあなたがPHPでタグ付けされたので、javascriptではないことを実証しました。同じようにjavascriptを使用することをお勧めします:) – georoot

+0

'$ _SESSION ['session_stack']'は何ですか?私はいくつかのエラーを持っている – googol8080

関連する問題