包括不同的页面

时间:2014-01-28 14:53:15

标签: php

我一直试图想出这个问题一段时间,但由于我找不到解决方案,我希望有人可以帮助我。

我创建了一个网站,目前有3个不同的菜单选项,家庭联系和订单页面。它们位于不同的子文件夹中。我在主文件夹中有index.php,从那里我有一个名为includes和layout的文件夹。在包含i我有contact.php,orderpage.php。在布局中我有.css和menu.php例如。

现在我需要使用include'thing.php';包括我需要的所有页面。因此,您不会被重定向到另一个页面,每次单击菜单中的其他选项时,它将只包含一个不同的页面。

我希望我的问题很清楚,如果没有,请告诉我应该包括哪些内容。

2 个答案:

答案 0 :(得分:0)

从它的问题读起来: 您尝试一次加载所有页面,然后只需在它们之间切换。

问题: PHP不起作用。已加载页面上的动态内容只能使用Javascript处理。在您输入页面后,PHP仅运行服务器端并且所有代码都已运行。

您确实可以做的是,在单独的Div容器中一次加载所有内容,然后通过隐藏显示它们来简单地切换它们。但你真的应该为每个页面做一个单独的页面。所以点击你切换到正确的页面。 如果您加载PHP页面,则只能使用此页面所需的代码。不要担心加载模板文件,如CSS或图像新。在第一次访问网页时,用户下载所有文件,如果他们没有更改,他已经拥有它们。

答案 1 :(得分:0)

如果我理解正确的话。您希望将3个页面加载到布局的内容块中,而无需重定向到新页面。你不能使用php,因为你想要的是客户端。

  1. 添加jQuery库

  2. 使用以下内容作为菜单示例。 data-page应包含您要包含的实际文件名:

  3. HTML:

     <a href="javascript:;" class="page" data-page="home">Home</a>
     <a href="javascript:;" class="page" data-page="contact">Contact</a>
     <a href="javascript:;" class="page" data-page="order">Order</a>
    

    在您的HTML中,有一个带有ID的div,用于加载内容的位置

    <div id="contents"></div>
    

    添加脚本以将页面加载到div

    <script>
        $(".page").click(function(){
           $("#contents").load("includes/"+$(this).data("page")+".php");
        });
    </script>
    

    很抱歉,我没有经过测试,因为我在飞行中输入了它,所以如果有错误请告诉我。如果上面的内容不清楚,你显然需要了解更多有关jquery的知识,但这是我的方式(不是这是显示页面的最佳方式)

    1. 这不允许您在不添加更多代码的情况下发送指向联系页面的链接
    2. 页面加载时不会加载主页。您可以使用jquery trigger来实现此目的。