如何从index.php运行整个站点

时间:2013-11-30 15:42:02

标签: php mysql url web

我注意到在几个站点中他们可以从index.php运行整个站点,我也注意到phpmyadmin在某种程度上也有相同的效果。

执行此操作的网站示例为Try Open School,它是一个演示网站,您可以使用(管理员作为密码和管理员作为用户名,或教师,教师或学生,学生)登录。如果您发现有关URL的所有更改都是Query String

我查看了网站,我只能在一页上查看图像,但我不认为是这种情况。我试过我的,我做了这样的事情......

<?php
    if($_GET['ref'] == 'home')
   {
     require_once("home.php");

   }
   elseif($_GET['ref'] == 'profile')
   {
       require_once("profile.php");

   } 
?>

我使用URL Query String来引用不同的页面并做出其他逻辑决定。

我在页面上做了很多这个,页面包含数百个if else statements。我不知道我是否在他们的网站上做了什么。 我喜欢这个概念,并希望在我自己的网站上实现这种东西。

我很感激有关如何解决这个问题的所有帮助。感谢

1 个答案:

答案 0 :(得分:2)

如果$ _GET ['ref']是选择页面的唯一参数。一个PHP开关,可能是一个更好的解决方案。

如果你想在索引文件中获得更少的代码行,你可以将开关放在一个separete php文件中!

像这样(index.php)

<?php

 echo "<div id=header>Someinput</div>
 <div id=menu>Some menu input</div>
 <div id=site>";

      require("switch.php");

 echo "</div>
 <div id=footer>Some footer input</div>";
 ?>

然后(switch.php):

<?php

    switch($_GET['ref']){
         case "page1":
              include("page1.php");
              break 1;

         case "page2":
              include("page2.php");
              break 1;
         default:
              include("404.php");
    }
?>