PHP - 将特定 get[] 变量的页面加载到特定的 div .php



我知道这很简单,但是我已经很久没有做过php了。

我有两种类型的链接。 一种使用 p$_get[],另一种g。喜欢:

<a href='?p=pages/page-type-1'>page 1</a>
<a href='?g=pages/page-type-2'>page 2</a>

点击特定链接后,我想通过include('')方法加载特定ID的div中的.php页面。

非常感谢。

if($_GET['p'] === 'pages/page-type-1') {
  include('page-to-include.php');
}

无论你做什么,都不要传递 $_GET 中的变量来包含。 这是极其危险的!您不能信任以 $_GET 提供的数据,因此您始终希望专门测试它,并避免将其传递到其他代码中,除非必须这样做。

另请注意使用 === 强制值检查和类型检查。 如果您不熟悉这一点,请在 PHP.net 上查找 === 运算符。

你说你想加载特定div id 中的页面,对吗?您可以使用 AJAX 来实现此目的。

在你的.js文件中这样写。

    $.ajax({
     type:POST,
     url:'path/of/your/php/file/for/requesting/data.php',
     success:function(data){
      var get_data = parseJSON(data);
      //Target the specific div you want to display your requested data that returned to you by your php.
        $('#divid').html(get_data.name);
     }
});

这应该有效:

<?php
if(isset($_GET['p']) && ($_GET['p'] === pages/page-type-1){
require_once 'some.php';
}

如果你想对你的GET数据做任何事情,首先清理它。永远不要相信你的用户

抱歉,如果这不是您的问题,但解决方案可能是对两个页面使用 1 个 GET 变量,然后使用开关来确定您想要的页面:

if (isset($_GET["p"]))
{
    switch ($_GET["p"])
    {
        case "pages/page-type-1":
            include("page-type-1.php");
            break;
        case "pages/page-type-2":
            include("page-type-2.php");
            break;
        default:
            include("page-not-found.php");
    }
}

最新更新