在PHP中使用$ _GET包含变量在包含URL中
Firslty,请原谅我的问题不恰当的措辞。
我想要做的是创建一个简单的odbc脚本,并将其存储在一个文件中,该文件将包含在我的主PHP文件中多次使用不同的变量。
包括它们时,我想指定一些变量传递给它。
我的例子是:
首页
include("table-fields.php?table=sometable");
表fields.php
$table = $_GET['table'];
odbc_exec(some database function WHERE TBL= $table);
但是,如果我的理解是正确的,因为$ _GET是全球性的,它会正在寻找main.php?表=
会更好的选择只是设置变量包括前乐,例如:
$table = some table;
include("table-fields.php");
表fields.php
odbc(some database function WHERE TBL= $table);
我要尽量避免,如果可能的。
感谢,编
当其中一个文件,该文件的内容输出到当前文件,它不要求与HTTP,因此,所有你需要做的是:
$table = "sometable";
include("table-fields.php");
和在包含的文件,只需要使用变量:
odbc(some database function WHERE TBL= $table);
为包含的内容会工作得一样,如果你在主文件等写
奇怪的是,在我们网站的另一个页面上,我有一个脚本从数据库中获取用户图像。这是以相同的方式完成的,我在其中包含(“getimage.php?id = x”)。然后,在该脚本中,我有一个$ _GET ['id'],然后查询数据库。这适用于所有ID。唯一的区别是,在该脚本的末尾,我设置了标题(“type:image/jpeg”),然后回显内容。在这种情况下可以做类似的事吗?谢谢 – Eds 2013-05-08 14:47:40
@Eds - 问题是,当使用PHP包含时,您不必使用querystring来获取数据,而且您应该不会因为包含的文件将成为包含文件的一部分。你只需要在你的页面上使用锚点等来请求基于ID等的图像时,querystrings,而不是当做包括。 – adeneo 2013-05-08 15:49:13
好的没问题。无论如何,我认为无论如何都要这么做。谢谢 – Eds 2013-05-08 15:55:34
您必须在包含之前声明该变量,它将在其下的代码中可用。
$_GET
用于从HTTP请求中获取数据。
正如你指出的那样,这将是正确的做法:
$table = some table;
include("table-fields.php");
试想include
作为复制和粘贴代码内。包含的内容中的代码将会代替include
调用。
'$ table = $ _GET ['table']; odbc_exec(某些数据库函数WHERE TBL = $ table);'应该可以工作... – Ryan 2013-05-08 14:31:04
可能是重复的http://stackoverflow.com/questions/5998705/url-querystring-with-a-php-include – Mattt 2013-05-08 14:31:42
读一个来自硬盘的文件与从互联网下载文件完全不同。也许你感到困惑,因为include()实际上可以完成这两件事情。 – 2013-05-08 14:38:20