PHP变量到JS - 一遍又一遍

时间:2009-12-21 09:49:24

标签: php javascript

对不起我的众神,但是......

我有php,文件,在这个php我设置语言,并包含必要的lang文件:

 ...
     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中包含语言文件然后确定,但我必须包含necessery语言文件,这不起作用,'因为JS在运行时不知道$ _SESSION ['lang']变量。

告诉JS必须包含哪个语言文件的最简单方法是什么?

谢谢

2 个答案:

答案 0 :(得分:2)

当客户端请求/js/yshout.php时,在服务器上创建一个(完全)新的php实例来处理这个新请求。此新实例不共享为html文档请求提供服务的“旧”实例的变量(包括&lt; script ... src =“yshout.php”&gt;元素)。
因此,如果要访问会话数据,则必须再次调用session_start()并(正如您已经注意到的那样)为要使用的所有变量赋值。

答案 1 :(得分:0)

您需要使用PHP并修改脚本,而不是使用J来包含您的文件。并且因为你在Js文件中放了以下行,但代码是PHP的代码,它不会执行:

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