【发布时间】:2025-11-27 07:05:02
【问题描述】:
我是 PHP 和 Web 开发的新手,我正试图弄清楚如何使用尽可能少的复制和粘贴代码来设计我的网站。本质上,我希望每个页面都使用相同的布局、页眉菜单和页脚;每个页面之间的唯一区别是“content_container”中的内容。这是我现在正在使用的简化版本:
<?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“模板”页面的“content_container”div 中。这样一来,网站内容的维护和更新就应该很容易,根本不需要接触模板。在此之前,我尝试使用 AJAX 异步加载内容,但我无法通过该方法直接链接到各个页面,因此使用 PHP $_GET 似乎是一个更好的选择。
我很清楚自己想要做什么,但是我对 Web 开发和 PHP 语法的不熟悉现在对我来说是个障碍。那么,如何使用 PHP $_GET 来使用来自另一个文件的内容填充我的页面? 编辑 1:或者,我是否以错误的方式解决这个问题,我应该怎么做?
编辑 2:为了学习,我更愿意看看这种事情是如何使用 PHP(或者甚至 JS,如果可能的话)完成的。我知道那里可能有很多好的模板库/框架,但如果可以的话,我想了解如何自己实现这些东西。
【问题讨论】:
-
为什么要使用其他文件的内容?好吧,无论如何-> 您必须创建一个表单才能将 $_GET 变量发送到另一个页面。当您提交表单和输入字段时,这些将被发送到操作页面。只需在 google 中检查“HTML GET Forms”即可。
-
您希望如何设置 GET 方法?通过表格或在整个页面中链接。指定 somesite.com/index.php?content_url=apple.html 将包括 apple.html。但这是一个安全风险,因为它可用于利用一些您可能不想显示的文件。
-
我正在考虑通过 URL 传递它,就像那样。嗯..我完全可以看到这可能是一个安全风险。我可以做一些额外的验证来确保它是我的页面之一吗?还是我应该尝试通过其他方法在我的网站上填充内容? (我完全可能以错误的方式解决这个问题..)谢谢!
标签: javascript php html ajax syntax