Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该如何使用PHP$\u GET和变量来用其他文件的内容填充模板页面?_Javascript_Php_Html_Ajax_Syntax - Fatal编程技术网

Javascript 我应该如何使用PHP$\u GET和变量来用其他文件的内容填充模板页面?

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和web开发的新手,我正试图找出如何用尽可能少的复制和粘贴代码来设计我的网站。本质上,我希望每个页面使用相同的布局、页眉菜单和页脚;每个页面之间的唯一区别是“内容容器”中的内容。这是我现在使用的简化版本:

<?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$有了更好的理解。