2009-12-21 40 views
0

對不起我的神,但是....PHP變量JS - 遍地

我有PHP,文件,並在此PHP我設置的語言,包括必要的郎文件:

... 
    if ($lan=='ge') {$_SESSION['lang']='german';...} 
    if ($lan=='en') {$_SESSION['lang']='english'; ....} 
    } 
    if ($_SESSION['lang']=='english'){ 
    include ..english 
    }else{ 
    include ...german 

    } 

我在我的網站中使用Yshout,並且希望使其成爲multilang。在JS文件中,開發人員使用一些我必須使其成爲多語言的文本。

所以JS文件的第一行:

`<?php header('Content-type: text/javascript');?> 

而且在php:

<script src="/js/yshout.php" type="text/javascript"></script> 

現在我可以在JS文件中使用PHP。所以我嘗試使用,而不是修復文本。但沒有結果,'因爲JS不知道$ text變量。如果我在JS中包含語言文件,那麼確定,但是我必須包含這個必要的語言文件,這是行不通的,'當他運行時,JS不知道$ _SESSION ['lang']變量。

哪個是告訴JS哪個語言文件必須被包含的最簡單的方法,我該怎麼做?

謝謝

回答

2

當客戶端請求/js/yshout.php一個(完全)新的實例在服務器上創建php來處理這個新的請求。這個新實例不共享服務於html文檔請求的「舊」實例變量(包括<腳本... src =「yshout.php」>元素)。
因此,如果要訪問會話數據,則必須再次調用session_start(),並且(如您已經注意到的)將值分配給您要使用的所有變量。

+0

謝謝你的正確解釋! – Holian 2009-12-21 10:41:45

0

而不是使用JS來包含你的文件,你需要使用PHP和修改你的腳本。因爲你已經把下面一行JS文件,但代碼是PHP的,它不會執行:

<?php header('Content-type: text/javascript');?>