动态网站,使用include来获取特定div中的内容,如何?

时间:2011-04-05 13:04:56

标签: php html include

我想用php轻松维护我的网站,但我根本无法弄清楚语言 - 我在网上发现了一些问题,还有其他一些问题,但没有人帮助我。

我将我的网站划分为一些.php文件,页眉/页脚等 - 并使用  工作得很好..

现在,我希望我的网站内容根据我在我的网站上点击的菜单进行更新。

http://dawtano.com/pp/

如果我点击“关于”我希望在我的内容div中打开“Hello World”,但我无法获得正确的PHP代码。

5 个答案:

答案 0 :(得分:1)

我认为你应该这样做---

注意:这仅适用于CSS样式位于当前目录中的情况! ()

<div>
<?php
    $html_page = implode('', file('http://dawtano.com/pp/'));
    echo $html;
?>
</div>

希望这有帮助!

答案 1 :(得分:0)

目前您的链接正在将您带到一个单独的页面。那么为什么不对它进行编码以使您的包含文件特定于页面。即,在about.php上,使用类似

的内容
include 'about_content.php

在你的背景中。

如果您要将内容动态加载到内容div中,则需要使用ajax来查看内容页面。

答案 2 :(得分:0)

您可能正在寻找某种模板引擎,它允许您使用可变部分创建页面。您可以查看TBS,这或多或少是名称所暗示的内容。但是有一整个lot more engines可以完成这项工作。

如果这已经超过了顶部,那么Apache SSI(服务器端包含)可能是您的尝试。

我方面的一点建议,我经常使用Apaches mod_rewrite连接单个controller.php文件。 Apaches mod_rewrite然后将所有请求发送到controller.php,后者将使用TBS获取所请求页面的适当页面部分并返回相应页面。因此,您只能在一个位置控制页面。

原来的问题 about.php 可能如下:

<?php
  include('header.php');
?>

  // original page content as html for about.php
  // assuming header ends with the starting div <div> where you like the content to appear
  // and footer starts with the closing div </div>
  // if you need variable content here, simply use <?php echo $your_variable ?>

<?php
  include('footer.php');
?>

答案 3 :(得分:0)

构建网站的一种流行方法是使用单个php脚本,根据$ _GET变量(如“page”或“content”)显示内容,然后将链接设为:

'http://dawtano.com/pp/index.php?page=helloworldcontent'

使用此方法,您需要检查变量($ _GET ['page'])是否使用isset()设置,然后确保字符串是安全的...因为任何有浏览器的人都可以输入在一些mumbo-magic脚本中劫持你的网站:

'http://dawtano.com/pp/index.php?page=somecleaverlycraftedhax'

一旦存在且安全,将“.php”添加到文件名并包含该文件......如果存在!如果它不存在,那么你需要一些代码来处理它,可能是通过显示“找不到文件”消息,或重定向到家或其他东西。

我不喜欢这样做,因为安全是一种痛苦,我觉得这很难看。我所做的是将所有页眉/页脚/导航栏/标题栏脚本放入单独的“显示”功能中,并将它们放在另一个文件中。

然后将此文件包含在函数定义中,并调用所有“display”函数来设置页面。因此,您网站中的每个PHP脚本都可能如下所示:

<?php
  include 'html_display_functions.php';

  /* put lines here to parse $_GET and $_POST, session_start()/$_SESSION, etc... */

  print_html_pre_content();
  print '<p>Hello, world!</p>';
  print_html_post_content();
?>

由于每个脚本都具有此结构,因此您只需创建一次模板文件即可。如果要为站点创建新页面,请复制模板,将副本重命名为所需的php文件名,并在两个打印功能之间添加内容。

您还可以在中央位置修改整个站点的页眉/页脚/导航栏/标题栏,即带有功能的附带文件。

答案 4 :(得分:0)

最好的方法是使用switch语句:

http://php.net/manual/en/control-structures.switch.php

这样的事情:

<?php

include("header.php");
$page = $_GET['page'];

switch($page)
{
  case "about":
     include "about.php";
  break;

  case "faq":
     include "faq.php";
  break;

  case "help":
     include "help.php";
  break;

  default:
     include "home.php";
}

include("footer.php);

?>

然后让所有链接看起来像这样: http://www.example.com/index.php?page=home

只需用正确的页面替换回家。