2009-12-21 41 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');?>