2014-01-28 94 views
1

我一直在试图找出一段时间,但因为我找不到解决方案,希望有人能帮助我。包括不同的页面

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

现在我需要使用include'something.php';包括我需要的所有页面。所以你不会被重定向到另一个页面,每当你点击菜单中的另一个选项时,它将只包含一个不同的页面。

我希望我的问题很明确,如果不是,请告诉我应该包括什么。

+0

php不能在客户端具有'include'功能。你想要什么? – 2014-01-28 14:55:31

+0

你在代码方面做了什么? – Onimusha

+0

在google中查看术语'ajax'。那是你需要的。 – arkascha

回答

0

从它的问题中读取像这样: 您尝试一次加载所有页面,然后简单地在它们之间切换。

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

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

+0

这就像你说我已经有不同的联系订单和家庭页面。我在同一页面上包含'menu.php';'和'include'index.php';'。但是当他们在menu.php中选择了不同的内容时,只有include应该改变,例如从index.php改为contact.php。 –

+0

啊,我想我得到你想做的事情。你需要1个index.php,然后一个Case切换渲染Additionaly的内容。为此,您需要在链接上提供一些附加信息(如获取值),然后使用“案例切换”功能来包含所需的文件。但试着总结一下,所以只有对这个特殊案例很重要的东西才会包括在内。有了一些数据库魔术,你也可以自动化这个。然后进入小型内容管理系统的方向 – Panade

0

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

  1. 加入jQuery库

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

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来实现这一点。