PHP 变量到 JS - 一遍又一遍

标签 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,并希望使其成为多语言。在 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 必须包含哪种语言文件的最简单方法是什么?我该如何做到这一点?

谢谢

最佳答案

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

关于PHP 变量到 JS - 一遍又一遍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939180/

相关文章:

php - 使用 PHP 的 DateTime 类验证有效日期

javascript - 无法从 PHP 变量获取值

javascript - (JS) 使用 IF/Switch 语句更改 slider 值

javascript - 获取 Word 文档的 body.text 内容不会返回列表项目符号/编号

php - 使用基于 Active Record 的框架进行单元测试

php - 即使列类型为整数,Kohana DB::select 也会以字符串形式返回结果

php - 如何实现 YouTube 嵌入代码解放

javascript - 有没有办法在 document.ready 上加载 doubleclick.net 广告代码?

javascript 获取 $ ('#madiv' )[i] 的innerHTML

javascript - ReactJS:映射数据未显示在 View 中