当我学习在索引上包含页面而不是显示页面本身时,我很难用它。所以我想知道一些事情。
使用类似这样的东西切换到index.php上显示不同的页面是否有任何区别:
switch($page) {
case 'page1':
$pagefile='page1';
break;
case 'page2':
$pagefile='page2';
break;
case 'page3':
$pagefile='page3';
break;
case 'page4':
$pagefile='page4';
break;
default:
$pagefile='home';
}
require_once(''.$pagefile.'.php');
只是显示php文件本身?在功能或安全等方面?
答案 0 :(得分:1)
这样做可以让你在同一页面中包含其他东西,而不必在每一页上重复。
假设您有标题,菜单,页面和页脚。 使用此方法可以执行此操作:
<?php
$whiteList = array('index', 'page1', 'page2');
$page = in_array($_GET['page'], $whiteList) ? $_GET['page'] : 'index';
include('header.html');
include('menu.html');
include($page.'.php');
include('footer.html')
?>
编辑:给你的应用程序一个入口点是一件非常好的事情。
让我们说明天你想知道已经查看了多少页面,你可以在index.php脚本中添加一个计数器(不要在其他所有页面中重复)。
编辑2:请注意,上述代码不会每次都有效(可能会有一些错误),但我不会破坏您查找原因的乐趣。 ; - )
答案 1 :(得分:1)
U可以将它用于安全性,我的意思是例如UR index.php就像这样
include($_GET['page']."sec.php");
因此客户端不会只看到任何页面名称index.php?page=example
在UR文件夹中有页面名examplesec.php
,因此客户端不知道UR页面的名称只能看到?page=the_page_name
和U可以更改秒数和事物UR名称或zzz
和U应该使用include_once
所以如果有任何问题,这将会阻止它
并且对于页面很重要,请使用require_once
,因此如果找不到页面,脚本将停止
答案 2 :(得分:0)
尝试使用它,检查名称是明智的,因为这样可以保护敏感文件
if(in_array($page, ['page1', 'page2', 'page3', 'page4'])) {
$pagefile = $page;
} else {
$pagefile = 'home';
}
include($pagefile.'.php');