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');
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...