微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-名称数组=获取正确的文件

我正在尝试写文件列表并将其放入数组.
必须更改调用外部内容页面上的内容.

我找到了这小段代码,并试图使其正常工作.
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');
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐