アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、HPを作っているわけですが、日本語表記と英語表記に切り替えが可能なようにしようとしています。
前提条件としては以下の通りです。
 ・サイトにアクセスした最初は$_SERVER["HTTP_ACCEPT_LANGUAGE"]にて
  "ja"が含まれれば日本語表記、含まれなければ英語表記。
 ・トップ画面以降は、コンボボックスなどを利用して表記変更が可能。
 ・日本語文字、英語文字は外部ファイルにて定義。
 ・ドメインは1つのみ。

この時、当時コンボボックスで考えていたのですが、コンボボックスであると
フォーム送信になってしまうので、ブラウザの更新ボタン(F5)を押すときっと
「ページの有効期限切れ」みたいな表示が出てしまい、宜しくありません。
また、トップページ以外から表記変更が行われた場合、表記変更後は、表記変更前のページを表示させたいです。

そういった所で私が考えたのがセッション変数を利用する方法でしたが、
よくよく考えたら、セッション変数だろうが「英語表記にしろ」という命令を受けるのは
フォーム送信じゃないと出来ない事に気が付きました。
(フォーム送信じゃなくても出来るなら教えて下さい)
今試してみたら、やはり「ページの有効期限切れ」が出てしまいます。

コンボボックスにこだりませんので、上記のようにならない方法がありましたらご教示下さい。
補足が必要ならその旨もお伝え下さい。
宜しくお願い致します。

A 回答 (1件)

流し読みですが、フォームをGETで送信すればよいのではないですか?


<form method="get">

もしくは日本語か英語かなら、普通のリンクでもよいかと思います。
今英語なら <a href="?lang=ja">日本語</a>
今日本語なら <a href="?lang=">英語</a> として

session_start();
$lang = '';
if (isset($_GET['lang']) {
 $_SESSION['lang'] = ($_GET['lang'] == 'ja') ? 'ja' : ''
} else {
 // 持続
 $lang = $_SESSION['lang'];
}

if ($lang == 'ja') {
 // 日本語
} else {
 // 英語
}

ソースは適当です。
    • good
    • 0
この回答へのお礼

あ、なるほど!
GETは、各ページ毎にURLが変わってくるから断念したのですが、
セッションに持っていれば動的にURLを変えられますしね~^^
それで出来るかもです!!ありがとうございます。

お礼日時:2006/12/01 23:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!