Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
Php 如何使用“include”传递参数?_Php - Fatal编程技术网

Php 如何使用“include”传递参数?

Php 如何使用“include”传递参数?,php,Php,我有一个名为customers.PHP的PHP脚本,通过URL传递参数,例如: 在我的customers.php脚本中,我选择了以下参数: $employeeId = $_GET['employeeId']; 那很好用。我还有一个HTML文件,其中包含一个输入参数的表单,并运行另一个php脚本,即: <form method="post" action="listcustomers.php"> Employee ID:&nbsp; <input name="em

我有一个名为customers.PHP的PHP脚本,通过URL传递参数,例如:

在我的customers.php脚本中,我选择了以下参数:

$employeeId = $_GET['employeeId'];
那很好用。我还有一个HTML文件,其中包含一个输入参数的表单,并运行另一个php脚本,即:

<form method="post" action="listcustomers.php">
  Employee ID:&nbsp; <input name="employeeId" type="text"><br>
  <input type="submit" value="Show">
</form>
到目前为止还不错。但他的是我被困的地方。我想运行customers.php脚本,并将我在表单中获取的参数传递给它。我相信这真的很简单,但就是无法让它发挥作用。我试过:

include "customers.php?employeeId=$employeeId&password=password";

但这是行不通的。我试过的其他东西也没有。请帮助我。

您不能将查询字符串(类似于?x=yyy&vv=www)添加到这样的包含中。幸运的是,include可以访问它们之前的所有变量,因此如果在调用之前定义了
$\u GET['employeeId']

include 'customers.php';

然后customers.php还可以访问
$\u GET['employeeId'

您的include文件将直接访问GET变量。

PHP include是真正的include;它们将一段代码从该位置附加到此位置

PaulPRO的答案很可能会告诉您想要实现什么,但在包含的文件中还可以使用其他变量。因此,如果您定义
$foo=“bar”和include layout.php之后,您可以在layout.php文件中调用这个
$foo
变量

如果您真的想向文件传递URL,可以将URL插入变量并在包含的文件中使用


编辑:是的,我不建议在实际的包含url中添加查询参数,因为它开始扰乱GET数组,最终您会搞不清楚应该有什么,并开始把头撞到墙上。

这不是很干净,但如果您需要输入静态参数,这将起作用:

if (true){
    echo "<meta http-equiv='refresh' content='0;url=query_source.php?random=red%20bull' />";
}
else
{
    echo "<meta http-equiv='refresh' content='0;url=query_source.php?random=blue%20bull' />";
}
if(真){
回声“;
}
其他的
{
回声“;
}
只需将它放在调用query_source.php的页面的源代码中


再一次,它不是很干净…

您可以通过会话传递值



在person_info.php中,启动会话并将所有会话值放入变量中,然后取消设置会话。

您也可以使用
$GLOBALS
解决此问题

 $tit = "Hello";

 $GLOBALS["docTitle"] =  $tit;

 include ("my.php");

可能重复您希望从表单中为customers.php提供参数的Well。该表单将通过post向您发送所有内容,因此所有内容都可以通过$u post获得,但是,到目前为止,您已经了解了这一点,并且您知道发生了什么。接下来,您需要打开customers.php文件并从表单中给出参数,即employeeId。您想在customers.php中做什么?如果您只想调用该文件中的函数,您可以只包含(customers.php),然后调用该函数,并将id作为该函数的参数??可能与、、、、、、、、、、、、、、、、、、、、、。。。。另请参见“您不能添加查询字符串…”-实际上您可以,但不建议这样做:无论如何,+1可获得有用的答案我没有意识到的是,我可以只设置$\u GET[]的元素。我假设它是只读的。请使用$variable代替“red%20bull”
<?php
    $_SESSION['name']='peter';
    $_SESSION['age']=28;
    $_SESSION['name']='Peter';
    include('person_info.php');
?>
 $tit = "Hello";

 $GLOBALS["docTitle"] =  $tit;

 include ("my.php");