1

こんにちは私は私のフォーラムを切り替えるために2つのファイルを作成しました(中国語と英語の言語)

enForum.php

<?php

     function foo() { 
        global $_COOKIES; 
        setcookie('ForumLangCookie', 'en', time()+3600, '/', '.mysite.com'); 
        echo 'running<br>'; 
        $_COOKIES['ForumLangCookie'] = 'en'; 
        bar(); 
    } // foo() 


    function bar() { 
      global $_COOKIES; 
      if (empty($_COOKIES['ForumLangCookie'])) { 
              die('cookie_name is empty'); 
            } 
            echo 'Language  =' . $_COOKIES['ForumLangCookie'];
            echo "<br>";
    } // bar() 

    foo();


?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>forum EN Version</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

please be patient ...
<script LANGUAGE='javascript'>

   location.href='http://www.mysite.com/forum/index.php';

</script>


</body>
</html>

cnForum.php

<?php

     function foo() { 
        global $_COOKIES; 
        setcookie('ForumLangCookie', 'cn', time()+3600, '/', '.mysite.com'); 
        echo 'running<br>'; 
        $_COOKIES['ForumLangCookie'] = 'cn'; 
        bar(); 
    } // foo() 


    function bar() { 
      global $_COOKIES; 
      if (empty($_COOKIES['ForumLangCookie'])) { 
              die('cookie_name is empty'); 
            } 
            echo 'Language  =' . $_COOKIES['ForumLangCookie'];
            echo "<br>";
    } // bar() 

    foo();


?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>forum CN Version</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<body>

please be patient ...
<script LANGUAGE='javascript'>

   location.href='http://www.mysite.com/forum/index.php';

</script>
</body>
</html>

include template('logon');などを含むいくつかのファイルがありますinclude template('regist');。Cookieの値を取得し、さまざまなテンプレートファイルをロードするフローを制御するためのコードを記述します。

$lang = $_COOKIE["ForumLangCookie"];
// for Debug
// echo '$lang is '.$lang;
// echo '<br/>';

if ($lang == "cn"){
    include template('logon');
}
else if ($lang == "en"){
    include en_template('logon');
}

しかし、SetCookie()が機能しない場合があります。Sleep(someSeconds);コードを追加する必要がありますか?

4

2 に答える 2

1

Cookieには$_COOKIE、ではなくでアクセスできます$_COOKIES

編集:誤解してすみません。$_COOKIES人々があなたの質問を正しく理解できるように、変数を別の一般的なものとして変更することをお勧めします。

于 2010-04-18T09:26:50.167 に答える
0

PHP配列名は$_COOKIESではなく$_COOKIEです

于 2010-04-18T09:28:36.167 に答える