Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用其他文件中定义的php变量_Javascript_Php_Require_Script - Fatal编程技术网

Javascript 无法使用其他文件中定义的php变量

Javascript 无法使用其他文件中定义的php变量,javascript,php,require,script,Javascript,Php,Require,Script,我有两个3个php文件,一个定义一个常量,另一个包含html标记并包含一个php文件,其中包含js内容。第三个是呈现js内容的php文件。代码如下所示 第一个名为“config.php”的文件: 我唯一的问题是,我无法使用访问所需或包含的页面中的变量,浏览器将发出一个新请求,直接加载script.php。由于PHP是无状态的,因此该请求不会在与main.PHP中进行的任何处理相同的上下文中处理 如果要在script.php中使用config.php中定义的变量/常量,必须将其加载到其中: <

我有两个3个php文件,一个定义一个常量,另一个包含html标记并包含一个php文件,其中包含js内容。第三个是呈现js内容的php文件。代码如下所示

第一个名为“config.php”的文件:

我唯一的问题是,我无法使用
访问所需或包含的页面中的变量,浏览器将发出一个新请求,直接加载
script.php
。由于PHP是无状态的,因此该请求不会在与
main.PHP
中进行的任何处理相同的上下文中处理

如果要在
script.php
中使用
config.php
中定义的变量/常量,必须将其加载到其中:

<?php require_once('config.php'); ?>
alert("<?php echo TESTVAR; ?>");

通过这种方式,PHP在与
main.PHP
相同的上下文中加载
script.PHP
文件,并且在其中定义的所有常量和变量将(应该)可供输出Javascript的代码使用。

script.PHP
由浏览器自行加载。如果您想使用在
config.php
中定义的常量,您还需要从那里获取config.php。您已经接近自己计算它了。检查加载
script.php
的点/请求。提示:不是在与
main.php
.dammit相同的请求中,我真傻。没有看到它,因为实际的项目是一个更大的框架,但当它被简化时,确实会有帮助,但非常感谢。你想写一个正确的答案,这样我就可以设置为正确的答案,还是想让我写一个,以备将来的帮助?@jaafarNasrallah我肯定这是以前提过的,所以它可能会被标记为一个副本,尽管我目前找不到正确的答案。但就我而言,这不是一个“愚蠢”的问题。特别是因为它是一个更大框架的一部分,所以很容易忽略这样的事情。@rickdenhaan我对stackoverflow并不陌生,在发布之前我已经看过了。所以谢谢
<?php
require_once ('config.php');
?>

<!doctype html>
<html lang="en">
<head>
    <title>Document</title>
</head>
<body>

<script type="text/javascript" src="script.php"></script>
</body>
</html>
alert(<?php echo TESTVAR ?>);
<b>Notice</b>:  Use of undefined constant TESTVAR - assumed 'TESTVAR' in <b>C:\xampp\htdocs\trials\testphpinjs\script.php</b> on line <b>2</b><br />
TESTVAR);
alert(<?php echo '\'testing'. 'php' . 'echo\'' ?>);
alert('testingphpecho');
<?php require_once('config.php'); ?>
alert("<?php echo TESTVAR; ?>");
<?php
require_once ('config.php');
?>

<!doctype html>
<html lang="en">
<head>
    <title>Document</title>
</head>
<body>

<script type="text/javascript">
<?php include('script.php'); ?>
</script>
</body>
</html>