Javascript 我应该如何使用PHP$\u GET和变量来用其他文件的内容填充模板页面?
我是PHP和web开发的新手,我正试图找出如何用尽可能少的复制和粘贴代码来设计我的网站。本质上,我希望每个页面使用相同的布局、页眉菜单和页脚;每个页面之间的唯一区别是“内容容器”中的内容。这是我现在使用的简化版本:Javascript 我应该如何使用PHP$\u GET和变量来用其他文件的内容填充模板页面?,javascript,php,html,ajax,syntax,Javascript,Php,Html,Ajax,Syntax,我是PHP和web开发的新手,我正试图找出如何用尽可能少的复制和粘贴代码来设计我的网站。本质上,我希望每个页面使用相同的布局、页眉菜单和页脚;每个页面之间的唯一区别是“内容容器”中的内容。这是我现在使用的简化版本: <?php $content = htmlspecialchars($_GET["content_url"]);?> <body> <div id="main_container"> <?php require 'h
<?php $content = htmlspecialchars($_GET["content_url"]);?>
<body>
<div id="main_container">
<?php require 'header.html';?>
<div id="content_container">
<?php include $content;?>
</div>
<?php require 'header.html';?>
</div>
</body>
网站的所有“内容”都存储在页面(about.html、social.html等)中,这些页面应该以某种方式加载到index.php“template”页面的“content_container”div中。这样,就可以轻松地维护和更新站点内容,而无需接触模板。在此之前,我尝试使用AJAX异步加载内容,但无法通过该方法直接链接到各个页面,因此使用PHP$\u GET似乎是更好的选择
我对我想做什么有一个很好的想法,但是我对web开发和PHP语法的不熟悉是我现在的一个障碍。那么,如何使用PHP$\u GET用另一个文件的内容填充我的页面呢编辑1:或者,我是否以错误的方式处理这个问题,我应该做些什么
编辑2:仅仅为了学习,我更愿意看看如何使用PHP(或者JS,如果可能的话)完成这类事情。我知道可能有很多很好的模板库/框架,但我想知道如果可以的话,如何自己实现这些东西。因此,如果我了解您,您将发送一个带有GET变量的url,如下所示:
http://www.yoursite.com/?content_url=http://www.yoursite.com/pages/about.html
您的计划是获取文件所在位置的url,然后将文件内容包含到当前页面中
我认为您不了解人们通常如何使用GET变量,我建议您不要以当前的方式进行操作。这是不好的,有几个原因。用Ajax加载所有内容也是非常糟糕的,因为Google将无法索引这些内容
现在回答:
如果仍要使用$\u,请将内容加载到页面中。我会这样做:
示例URL:http://www.yoursite.com/?page=about
PHP代码:
<?php
//Check if the get variable "page" is set to "about", then load about.html
if($_GET['page'] == "about"){
$content = file_get_contents("http://www.yoursite.com/pages/about.html");
}
?>
您可以在此处阅读有关文件获取内容的信息
请注意,这不是解决网站URL的“最佳”方法。这只是一个答案,告诉你如何实现你的要求。如果您想要更高级的解决方案,您应该研究mod_rewrite和.htaccess。为什么要使用其他文件中的内容?无论如何->您必须创建一个表单,以便将$\u GET变量发送到另一个页面。当您提交表单和输入字段时,它们将被发送到操作页面。只需在google中检查“HTML获取表单”。您希望如何设置获取方法?通过表单或在整个页面中链接它。指定somesite.com/index.php?content\u url=apple.html将包括apple.html。这是一个安全风险,因为它可以用来攻击一些你可能不想显示的文件。隐马尔可夫模型。。我完全明白这可能是一种安全风险。是否有一些额外的验证,我可以做,以确保它是我的网页之一?或者我应该尝试通过其他方法用内容填充我的站点吗?(我完全可能把这个问题搞错了…)谢谢!伟大的这看起来很像我需要的那种东西。这看起来很适合我的目的,但我会研究一下你建议的其他方法。谢谢你的帮助,马库斯。工作得很有魅力!我只是通过一个switch语句运行了$\u GET的结果,并用“file\u GET\u contents()”加载了相应页面的内容。这比我想象的要简单得多,而且似乎也避免了安全隐患。再次感谢你的帮助!我想我现在对PHP$有了更好的理解。