你好我有一個問題如何使用會話。如何使用會話?
我想更改網站的語言。所以語言設置的邏輯如下:
當調用我的網站時,它將被檢查,如果有browser_accept_language。 如果有語言設置,它將用作首選語言,否則將設置默認語言。 在下一步中,將檢查是否已存在會話中存儲的設置。 如果有語言的會話值,首選語言將更改爲會話條目。
沒關係,那是邏輯部分。現在我試着編碼。問題是,它似乎不工作,我不知道爲什麼。
所以PHP是:
<?PHP
session_start();
header ("Content-Type: text/html; charset=utf-8");
include_once "scripts/db_connect.php";
if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])){
$max = 0.0;
$languages = explode(",", (strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])));
foreach($languages as $language){
$language = explode(';', $language);
$q = (isset($language[1])) ? ((float) $language[1]) : 1.0;
if ($q > $max){
$max = $q;
$pref_language = $language[0];
}
}
$pref_language = trim($pref_language);
}
$_SESSION['language'] = $pref_language_changed;
if (isset ($_SESSION['language'])){
$pref_language = $pref_language_changed;
}...
其次是一些HTML的mainwrapper頁腳:
if ($pref_language === "af" OR $pref_language === "en"{
$footer = "footer1";
}else{
$footer = "footer2";
}
include_once "../scripts/".$footer.".php";
和頁腳本身是:
... <ul class="flag">
<li id="'.$language_flag.'">
<ul class="drop_down">
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
<a href="/foo"><li id="one"><div>language1</div></li></a>
<a href="/bar"><li id="two"><div>language2</div></li></a>
</form>
</ul>
</li>
</ul>...
<!--Footer -->';
if (isset($_POST['one'])){
$_SESSION['language'] = "language1";
}
if (isset($_POST['two'])){
$_SESSION['language'] = "language2";
}
?>
這就是我所有的頁面是建立的。
如果有人能告訴我如何使用會議,我真的很感激。
非常感謝。當你要鏈接的<li>
使用
<li><a href="/foo">Link</a></li>
不要使用<li>
**「不工作」**這是描述性的。 – 2012-12-17 20:52:56
感謝這個稱職的答案! – bonny
@bonny它仍然是完全準確的。你的問題到底是什麼? –