要求函数与变量[重复]

This question already has an answer here:

can you tell me what is wrong with this code:

require( 'prepareOrder.php?oID='.$orders["id"].'');

Where: prepareOrder.php is a php located on the webpage root folder and orders[id] is an id from an sql database.

</div>

First of all no such file exists in your system having ? in name

All the variables declared before file include/require are available in that file and variables declared in included/required file are also available in parent file.

So simply include file and access variables as you access in other files ;)

You can't pass parameters when requiring or including a file. It is not executed as a web request, but simply included in the source - imagine copy and pasting the source code contents of the file, not the end result.

See the manual page for include().

PHP's require() function does not accept GET parameters as part of the request path.

As a result, PHP is looking for a file which is physically named prepareOrder.php?oID=1 (assuming $orders["id"] = 1)

You should, however, be able to access the $orders array inside of your prepareOrder.php file, so you can utilise the id key within your required file.

In PHP, require() is only getting the file name. This means if you require('somefile.php?somevar=somevalue'); this will check if a file called somefile.php?somevar=somevalue exists. I "guess" you dont have this file with that name :) So, if you need to pass parameters to an included file, you just need to declare those parameters before including the file. Example: If you need to include somefile.php and use $somevar inside it, this is how to do it:

$somevar = 'somevalue';
include('somefile.php');

or

require('somefile.php');

and then you can use $somevar inside somefile.php without any problem :)