Javascript 合并HTML页面(主页、关于、联系人),然后根据单击的链接显示它们(PHP?)?
对于最终用户来说,它看起来像是单独的页面(index.html、services.html等),但我不想在服务器上实际分离这些文档,而是想将它们组合成一个页面,并在单击相应的链接时使用(我假设)PHP将这些部分提供给它们自己的“页面” 为了简单起见,假设我有以下几页:Javascript 合并HTML页面(主页、关于、联系人),然后根据单击的链接显示它们(PHP?)?,javascript,php,html,Javascript,Php,Html,对于最终用户来说,它看起来像是单独的页面(index.html、services.html等),但我不想在服务器上实际分离这些文档,而是想将它们组合成一个页面,并在单击相应的链接时使用(我假设)PHP将这些部分提供给它们自己的“页面” 为了简单起见,假设我有以下几页: 家 服务 接触 及其代码: 家 **主页内容** 服务 <body> <div id="content"> **Services page content** <div> </
**主页内容**
服务
<body>
<div id="content">
**Services page content**
<div>
</body>
**服务页面内容**
接触
<body>
<div id="content">
**Contact page content**
<div>
</body>
**联系人页面内容**
等等
我是否可以使用以下标记将它们组合起来:
<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>
/*主页标记*/
**主页内容**
/*服务标记*/
**服务页面内容**
/*接触*/
**联系人页面内容**
您应该看看模板系统,下面是我制作的一个非常简单的示例:
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=是您要访问的页面(请确保该页面存在于交换机中)您需要任何标识符才能访问该页面。可能像你的领域/家或你的领域/关于等
您可以使用mod_rewrite将其转换为一个好的锁定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;
}
}
}
看看模板引擎。你应该做一些基础研究。首先查找术语“控制器”和php编程,这正是您要查找的。然后也考虑选择交付所有内容,所以只在客户端使用ECMA.UpDebug来构建@ @ ARKASCHA的评论。与另一个拥有10k声誉的用户不同,他总是询问别人的答案&表现得像他拥有SO一样。@arkascha我对web开发相当陌生,我对这个问题的初步研究证明是徒劳的,因为我甚至不知道如何提问,也不知道我到底在寻找什么,因此我来到这里。谢谢你的帮助!Javascript用于检测单击的链接,AJAX用于将该值发送到服务器,PHP用于响应小节,最后Javascript用于显示小节。非常感谢您的帮助!我会调查这件事的。当你陷入困境时,尽管问吧!你好。所以我很确定我已经正确地设置了脚本,但是我不确定你在索引上说“只运行pageSelector()”;是什么意思。确保这些函数包含在当前页面上,或者包含在当前页面上,或者包含写它们的文件,然后只需键入pageSelector();在该页面中,这些代码将起作用:)
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;
}
}
}