在索引上包含所有内容和显示所有不同页面之间的区别

时间:2014-02-28 23:33:48

标签: php include

当我学习在索引上包含页面而不是显示页面本身时,我很难用它。所以我想知道一些事情。

使用类似这样的东西切换到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文件本身?在功能或安全等方面?

3 个答案:

答案 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

  • index.php将在页面中包含其他内容,如页眉,页脚,侧栏等等,将在所有页面上

和U应该使用include_once所以如果有任何问题,这将会阻止它

并且对于页面很重要,请使用require_once,因此如果找不到页面,脚本将停止

答案 2 :(得分:0)

尝试使用它,检查名称是明智的,因为这样可以保护敏感文件

if(in_array($page, ['page1', 'page2', 'page3', 'page4'])) {
    $pagefile = $page;
} else {
    $pagefile = 'home';
}

include($pagefile.'.php');