我的index.php
里面有include("calendar.php")
。
index.php
包含可在$passdate
内访问的calendar.php
字段。
我在include("calendarnew.php")
内也有calendar.php
,我想再次传递$passdate
字段。它没有得到它,因为它实际上位于计算所在的index.php
内。
我希望这不会太混乱。如何使用include语句将派生字段从一个文件传递到另一个文件?
我收到了一些很好的答案,但我不认为我很清楚。第一个文件使用include语句调用第二个文件。但是,第二个是使用href调用第三个。这导致第一个文件中的变量在第三个文件中不可访问。我希望澄清事情。感谢
答案 0 :(得分:1)
<强> a.php只会强>
$b = "this_from_a";
include("t1.php");
<强> t1.php 强>
echo "<a href=t2.php?var=".$b.">link</a>";
<强> t2.php 强>
echo $_GET['var'];
输出:
this_from_a
<强> WAY2:强>
使用会话。
答案 1 :(得分:0)
当您在PHP中包含文件时,PHP解释器会在运行时创建一个大文件。只要你有“include()”或“require()”函数,就会在那里插入这些文件的内容。因此,实际上,您最终在运行时最终只得到一个文件。因此,在index.php文件顶部声明的变量应始终可访问。
说完这个,请注意变量范围。例如,如果在index.php文件的顶部声明一个变量,并尝试在index.php文件中包含的另一个文件中的函数内引用该变量,那么这将无效,因为您正在寻找本地函数中的变量,实际上是一个全局变量。要解决此问题,请使用“global”关键字指示某个变量指示符应指向全局变量。
例如:
<?php
$my_var = 1;
function my_funct() {
global $my_var;
print $my_var; // Will print 1
}
我希望这很有用。
此致 拉尔夫
答案 2 :(得分:0)
如果在分配$ passdate之前执行calendar.php和calendarnew.php中的代码,则无法访问它。
如果您尝试在calendar.php或calendarnew.php文件中的函数内访问$ passdate,只需将其称为全局变量。
示例:
index.php文件
include 'calendar.php';
//some code
$passdate = 'same value';
calendar.php文件
include 'calendarnew.php';
function someFunctionName()
{
global $passdate;
return $passdate . ' append value';
}
希望有所帮助