2016-05-04 26 views
-2

ユーザが初めて自分のサイトに入ると、場所を選択するように求められ、これによって通貨が決まります。選択すると、国コードは$_SESSION['countryCode']に保存され、画面に表示されます。URL(およびその逆)に追加するPHPセッション変数

しかし、ユーザーがドイツを選択した場合、このURLをhttp://test.com/de/にリダイレクトするなど、このURLにURLを反映させることもできます。さらに、ユーザーが上記のURLを入力した後、ページをロードしてセッションを'de'として設定すると、私はそれも好きです。

私はhtaccessファイル内でURLを書き直す必要があると思いますが、これがどのようにphpセッションとやりとりするのか分かりません感謝。

すべてのベスト、 マット

+0

コードを表示する必要があります。基本的には、言語を処理するためのベースコントローラーが必要です。ルーティング機能はユーザーをベースコントローラーに誘導し、コントローラーはURLを設定してセッションを設定します。 – wolfrevo

+0

'$ _SERVER ['request_uri']'でURIを取得し、文字列から部分を取得してセッションに保存します。 – Bsienn

答えて

0

あなたは世界的にあなたの国のセッションを保存してから、ヘッダ/ブートストラップファイルでそれを参照するようにしたいと思います。

URLをデフォルトのGBに構成する方法を決定するために、私は個人的にswitch文を実行します。

session_start(); 

// Assuming your country has come in from a validated form post. 
$urlBit = $_POST['country']; 

switch($urlBit) { 
    case 'de': 
     $country = $urlBit; 
     break; 
    case 'es': 
     $country = $urlBit; 
     break; 
    default: 
     $country = 'gb'; 
     break; 
} 

$_SESSION['country'] = $country; 

その逆について、あなたは文字列にURLを入れて、文字列内の「/デ/」、「/ GB /」を探すためにいくつかのコードを書くことができます。

また、スイッチのステートメントに戻って処理し、結果を知ると、次に、すべて$_SESSION['country']を使用して保存します。

session_start(); 

// Assumed URL structure. 
$url = 'http://www.website.com/de/'; 

// The switcheroo. 
$urlParts = explode('/', $url); 
$urlBit = $urlParts[3]; // Returns 'de' 

// The same switch as above. Stick it in a function or class/method, maybe. 
switch($urlBit) { 
    case 'de': 
     $country = $urlBit; 
     break; 
    case 'es': 
     $country = $urlBit; 
     break; 
    default: 
     $country = 'gb'; 
     break; 
} 

$_SESSION['country'] = $country; 

これは私が最初のコードを見ることなく提供できる最良の答えですが、この単純なロジックを使用して、上記を実装する方法を知っていたと仮定すると、あなたの問題を解決するだろう。

あなたはhtaccessなしで簡単にこれを行うことができますが、コードを見ずに言うのは難しいです。

0

最初はログイン時にcuntryはgpsで指定されます。その後、cuntry日に応じて、uがas.initially uはcuntry日通貨値をdefindようなPHPコードを書く...

switch($cuntry_name) 

{case(germany): 

$_SESSION['countryCode'] = 'de'; 
break; 
case(...): 
$_SESSION['countryCode'] = '..'; 
break; 
} 
0

などのように選択した通貨cuntry日 ため

使用caseまたはif condition

することができます.htaccessなしでこれを行う。 すべてのスクリプトに含めるlangファイルを作成します。そのlangファイルにはセッション変数から生成された変数があり、すべてのリンクに追加され、通貨コードを持ちます。

関連する問題