我正在尝试通过url向搜索页面发送变量“q”。但我得到错误说
致命错误:require():需要打开失败 'theme / _modules / contact / search.php?q = {echo $ q;}' (include_path中= ':/ usr / lib中/ PHP:在/ usr /本地/ LIB / PHP')
这是我的代码
if(isset($_POST['q'])){
$q= $_POST['q'];
}
require 'theme/header.php';
require 'theme/_modules/contact/search.php?q={echo $q;}';
require 'theme/footer.php';
任何人都可以告诉我原因和方法来解决这个问题..谢谢..
这样做之后..
require 'theme/header.php';
//require 'theme/_modules/contact/search.php?q={echo $q;}';
require "theme/_modules/contact/search.php?q=$q";
require 'theme/footer.php';
我收到错误
Warning: require(theme/_modules/contact/search.php?q=saman): failed to open stream: No such file or directory in /home/dr7bf45v/public_html/search.php on line 17
答案 0 :(得分:5)
使用此:
require 'theme/_modules/contact/search.php?q='.$q;
当你使用它时......
require 'theme/_modules/contact/search.php?q={echo $q;}';
PHP从字面上解释{echo $q;}
,因为它包含在单引号中。通常PHP会在双引号中解释{echo $q;}
,但为了安全起见,请使用.
将某些内容添加到字符串的末尾。如果您想在不使用$q
的情况下将.
括在双引号中,请执行此操作...
require "theme/_modules/contact/search.php?q=$q";
答案 1 :(得分:1)
我认为你试图以错误的方式行事。
您正在尝试完成远程包括。 (1.你必须允许它:including a remote file in PHP。2。你的链接看起来像url)。
现在您要求theme/_modules/contact/search.php?q=saman
,这意味着您的脚本正在查找名为search.php?q=saman
的文件。你有那个档案吗?不,只有search.php。
但是,我认为,您正在尝试将变量传递给文件scope。有更好的方法。只有require它没有额外的参数。
P.S。但是如果search.php从GET收到值并且您需要该结果,则可以使用curl,因为远程包含是危险的。