Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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
使用include标记php传递变量_Php_Variables_Include - Fatal编程技术网

使用include标记php传递变量

使用include标记php传递变量,php,variables,include,Php,Variables,Include,我试图将一个变量传递到另一个php文件,获取该变量的代码如下: <?php global $changeDate; $changeDate = $_POST['editdate']; $results = "SELECT title, DATE(start) FROM rota WHERE DATE(start) = '$changeDate' "; $workingUser = mysql_query($results); include

我试图将一个变量传递到另一个php文件,获取该变量的代码如下:

<?php  
    global $changeDate;
    $changeDate = $_POST['editdate'];
    $results = "SELECT title, DATE(start) FROM rota WHERE DATE(start) = '$changeDate' ";
    $workingUser = mysql_query($results);   
    include 'phpfunctions/holddate.php';
?>

holddate.php是这样的

<?php
    $holdingdate = 0; 
    $holdingdate = $changeDate;
?>

在执行时,我收到一个错误消息说,
$changeDate
是holddate.php中的一个未定义变量,这是怎么回事?这包括建议的
全局设置,但仍然收到相同的错误。

使用此设置:

<?php
    global $changeDate;
    $changeDate = $_POST['editdate'];
    $results = "SELECT title, DATE(start) FROM rota WHERE DATE(start) = '$changeDate' ";
    $workingUser = mysql_query($results);   
    include 'phpfunctions/holddate.php';
?>

您不必使用全局属性或session。
尝试打开“错误”,查看是否返回任何错误

error_reporting(E_ALL); 
ini_set('display_errors', '1');
从文件中

包含文件时,它包含的代码将继承包含文件所在行的变量范围。从该点开始,调用文件中该行可用的任何变量都将在被调用文件中可用。但是,包含文件中定义的所有函数和类都具有全局作用域


除非绝对必要,否则我会尽量避免创建全局变量。另外,由于您已经尝试了tht,但它不起作用,因此除了变量范围之外,还有另一个问题。

为什么要创建变量
$holdingdate
?我已经创建了全局变量,但仍然返回相同的错误您是否在文件顶部设置了全局变量?@user2967211如果您仍然在附近,让我们看看你的表单是什么样子的。如果你没有注意到的话,问题中会说:“我收到一个错误,说$changeDate是holddate.php中一个未定义的变量。”it@YourCommonSense有点难过,你没有什么比通过粗鲁和无益的评论让自己感觉更好的事可做了。冷静地成长guy@YourCommonSense因为他收到了返回的通知,并不意味着他有错误报告。这只是意味着E_通知已设置。也许看看