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

Php 动态站点,使用include获取特定div中的内容,如何?,php,html,include,Php,Html,Include,我想用php轻松地维护我的网站,但我就是搞不懂它的语言——我在网上找到了一些TUT,还有一些其他的问题,但没有一个对我有帮助 我已经将我的站点划分为一些.php文件、页眉/页脚等,并使用 很好 现在,我希望我的网站的内容,根据我在我的网站上点击的菜单进行更新 如果我点击“关于”,我想在我的content div中打开“Hello World”,但我无法获得正确的php代码来完成这一操作。目前,您的链接将把您完全带到一个单独的页面。那么,为什么不编写代码,使您的include文件特定于页面呢。i

我想用php轻松地维护我的网站,但我就是搞不懂它的语言——我在网上找到了一些TUT,还有一些其他的问题,但没有一个对我有帮助

我已经将我的站点划分为一些.php文件、页眉/页脚等,并使用 很好

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


如果我点击“关于”,我想在我的content div中打开“Hello World”,但我无法获得正确的php代码来完成这一操作。

目前,您的链接将把您完全带到一个单独的页面。那么,为什么不编写代码,使您的include文件特定于页面呢。i、 在about.php上,使用

include 'about_content.php
在你的同一部门


如果您希望将内容动态加载到content div中,则需要研究使用ajax获取内容页。

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

如果这已经太过分了,也许(包括服务器端)是您的一个尝试

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

关于.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');
?>
<?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();
?>

//about.php的原始页面内容为html
//假设标题以您希望显示内容的起始div结尾
//页脚以结束div开头
//如果您需要这里的可变内容,只需使用

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

'http://dawtano.com/pp/index.php?page=helloworldcontent'
使用此方法,您需要检查变量($\u GET['page'])是否是使用isset()设置的,然后确保字符串是安全的。。。任何一个有浏览器的人都可以输入一些含糊不清的魔法脚本并劫持你的网站:

'http://dawtano.com/pp/index.php?page=somecleaverlycraftedhax'
一旦它存在并且是安全的,将“.php”添加到文件名并包括该文件。。。如果它存在!如果它不存在,那么您将需要一些代码来处理它,可能是通过显示“未找到文件”消息,或者重定向主页,或者其他方式

我宁愿不这样做,因为这是一个痛苦的安全,我觉得它是相当丑陋的。我所做的是将所有页眉/页脚/导航栏/标题栏脚本放在单独的“显示”函数中,并将它们放在另一个文件中

然后将此文件与函数定义一起包含,并调用所有“显示”函数来设置页面。因此,您站点中的每个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');
?>
<?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文件名,并在两个打印函数之间添加内容


您还可以在中心位置修改整个站点的页眉/页脚/导航栏/标题栏,即包含函数的文件。

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

大概是这样的:

<?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);

?>

我想你应该这样做---

注意:这只在CSS样式位于当前目录下时才有效!()



希望这有帮助

你仍然需要阅读教程。阅读URL如何调度到控制器以及控制器如何调用view@Shakti-@Matias在我看来没有使用MVC。@adam:不管他是否使用MVC,他仍然需要根据URL将控制权转移到适当的文件是的,但是谈论调度员、控制器和视图太过分了谢谢,我从一位朋友那里得到了一些帮助,最后得到了以下代码:但我想我以后会尝试你的代码..欢迎随时光临,我的朋友,Matias!