2017-01-18 21 views
0

私のウェブサイトには国が異なるため、ウェブサイトのレイアウトが異なります。セッションが設定されていない場合は、セッションに基づいて実行されています。ユーザーは、国を選択するためにインデックスにリダイレクトされ、元の場所からリダイレクトされます。私がチェックしたいホームページに戻ったときに要求され、これは、いくつかの戻りパラメータを持っているか、単にユーザーが持っているかどうかをここでリダイレクト中にjavascriptにURLパラメータが指定されていません

<?php 
session_start(); 
if(!isset($_SESSION['country'])) 
{ 
    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
    header("location:index.php?return_uri=$actual_link"); 
} 
?> 

は今、何が起こるのインデックスを除くすべてのファイルに含まれているコード

session_check_client.phpファイルがされます彼は初めて彼のウェブサイトを訪れた。私はコードを表示している2つの国のための2つのボタンがあります。私は$_GET['return_uri']の値を警告していたときに、今の問題は、それが

私に偽の値を与えているされて

function canada(){ 
    $.ajax({ 
     type: 'post', 
     url: 'ajax_country.php?country=canada', 
     success: function (data) { 
      var $_GET = <?php echo json_encode($_GET);?>; 
      if($_GET){ 
      //window.location.href=$_GET['return_uri']; 
      alert($_GET['return_uri']); 
      } 
      else { 
       window.location.href = "home.php"; 
      } 
     } 
    }); 
} 
function us(){ 
    $.ajax({ 
     type: 'post', 
     url: 'ajax_country.php?country=us', 
     success: function (data) { 
      var $_GET = <?php echo json_encode($_GET);?>; 
      if($_GET){ 
       //window.location.href=$_GET['return_uri']; 
       alert($_GET['return_uri']); 
      } 
      else { 
       window.location.href = "home.php"; 
      } 
     } 
    }); 
} 

例えば私のreturn_uri値は、それが実際http://localhost/interfold/products2.php?category=Aprons&id=57725599688のようにインデックスページでreturn_uriで全体の値を示してhttp://localhost/interfold/products2.php?category=Aprons&id=57725599688ですが、ときに私は値http://localhost/interfold/products2.php?category=Apronsを与えている唯一のものですJavaScriptを使用してURLの値を取得しているそれは$とその後の部分が欠落している!任意の推奨事項?

+1

を追記では、あなたは本当にカナダ(マージして重複したコードを防止しなければならない)とus()関数は、国のための1つの可能なパラメータを持つ1つの関数に完全に合意された –

+0

!問題が解決されたら修正します –

+0

$ _GETパラメータになるには$ actual_linkが本当に必要ですか?それはまた別の解決策かもしれませんか? –

答えて

0

あなたが唯一のスーパーグローバル変数を使用しているので、あなたが直接あなたが記述されている機能の上にJS変数を印刷することができます。

var actual_link = "<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?>"; 

function postCountry(country){ 
    $.ajax({ 
     type: 'post', 
     url: 'ajax_country.php?country=' + country, 
     success: function (data) { 
      if(actual_link){ 
       //window.location.href=actual_link; 
       alert(actual_link); 
      } 
      else { 
       window.location.href = "home.php"; 
      } 
     } 
    }); 
} 

postCountry('us'); 
postCountry('canada'); 
+0

nops !! ! 2つのファイルがあります.FileA.phpからindex.phpに向かいます。私はFileA.phpで自分のスーパーグローバルを設定してから、インデックスにURLを返します。あなたがやっていることは、index.phpのURLを間違って取得しています。 –

関連する問題