合并HTML页面(Home,About,Contact,然后根据点击的链接显示它们(PHP?)?

时间:2015-01-10 18:32:48

标签: javascript php html

对最终用户来说,它看起来像是单独的页面(index.html,services.html等),但实际上并没有将这些文档分开在服务器上,我想将它们组合成一个并使用(我假设)PHP将这些部分提供给他们自己的"页面"当点击相应的链接时。

为简单起见,请说我有以下几页:

  1. 主页
  2. 服务
  3. 联系
  4. 他们的代码:

    主页

    <body>
    <div id="content">
        **Home page content**
    <div>
    </body>
    

    服务

    <body>
    <div id="content">
        **Services page content**
    <div>
    </body>
    

    联系

    <body>
    <div id="content">
        **Contact page content**
    <div>
    </body>
    

    ... ETC

    我可以使用一些标记来组合它们,如:

    <body>
    
    /*Home markup*/
    <?php Script to display this section when "Home" link is clicked; ?>
    <div id="content">
        **Home page content**
    </div>
    
    /*Services markup*/
    <?php Script to display this section when "Services" link is clicked; ?>
    <div id="content">
        **Services page content**
    </div>
    
    /*Contact*/
    <?php Script to display this section when "Contact" link is clicked ?>
    <div id="content">
        **Contact page content**
    </div>
    
    </body>
    

2 个答案:

答案 0 :(得分:0)

你应该看看模板系统,这是一个非常简单的例子:

function pageSelector(){
    if(array_key_exists('page', $_GET) && !empty($_GET['page'])){
        $page = $_GET['page'];
        pageSwitch($page);
    } else {
        $_GET['page'] = 'home';
        pageSelector();
    }
}

function pageSwitch($page){
    switch($page){
        case 'home':
            //load home page
        break;
        //add a case for every page you want.
    }
}

只需在索引上运行pageSelector(); 你现在可以做这样的链接:

index.php?page=home

其中page =是您要访问的页面(确保您的交换机中存在该页面)

答案 1 :(得分:0)

你需要任何识别者来做到这一点。可能喜欢你的域/家庭或你的域/约等

您可以使用mod_rewrite tu将其设为良好的锁定ID

的.htaccess

RewriteEngine On
RewriteRule ^/?([a-zA-Z_-]+)$ index.php?p=$1 [L]

然后你可以使用不同的开关功能。

function getPage(){
    if(isset($_GET['p'])){
        switch(strtolower($_GET['p'])){
            case 'index' : include(dirname(__FILE__) . '/../pages/index.php'); break;
            case 'aboutme' : include(dirname(__FILE__) . '/pages/about.php'); break;
            case 'legal' : include(dirname(__FILE__) . '/pages/legal.php'); break;
        }
    }
}