我正在尝试写文件列表并将其放入数组.
必须更改调用外部内容的页面上的内容.
我找到了这小段代码,并试图使其正常工作.
LINK(最新评论)
$all_pages=array("main","page_two","page_three");
$page = $_GET['page'];
if( isset($page) and array_key_exists("$page", $all_pages) ) // added a missing ')'
{
include('subfolder/folder/'.$_GET['$page'].'.html');
}
好吧,这行不通.
只是无法找到正确的文件. (内容始终显示为空).
我(尝试)将文件称为:
<ul>
<li><a href="template.PHP?main">Main content</a></li>
<li><a href="template.PHP?page_two">Second content</a></li>
<li><a href="template.PHP?page_three">Third content</a></li>
</ul>
提前致谢!
解决方法:
您将必须使用in_array()来测试允许的值. array_key_exists将要求页面名称为数组键.
其次,$_GET [“ page”]将为空,因为您没有该名称的get参数.您必须调整链接:
<li><a href="template.PHP?page=main">Main content</a></li>
<li><a href="template.PHP?page=page_two">Second content</a></li>
<li><a href="template.PHP?page=page_three">Third content</a></li>
(或者使用$_SERVER [“ QUERY_STRING”].但是您可能不想这样做.)
您的第三个问题是使用:
include('subfolder/folder/'.$_GET['$page'].'.html');
^^^ ^^^
您应该只在这里使用$page变量,您已经从$_GET中读取了该变量.再次使用该名称作为键将不起作用.您还使用了它-单引号(双重错误,但幸运的是没有作用).
因此正确的是:
$all_pages = array("main", "page_two", "page_three");
$page = $_GET['page'];
if ( in_array($page, $all_pages) )
{
include('subfolder/folder/'.$page.'.html');
}