1

我知道这很容易,但是自从我完成 php 以来已经有很长时间了。

我有两种类型的链接。一个使用$_get[]ofp和其他g。喜欢:

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

单击特定链接后,我想通过该include('')方法将 .php 页面加载到特定 id 的 div 中。

太感谢了。

4

4 回答 4

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

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

还要注意使用 === 来强制进行值检查和类型检查。如果您对此不熟悉,请在 PHP.net 上查找 === 运算符。

于 2012-11-11T06:53:56.013 回答
1

你说你想加载特定 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);

     }
});
于 2012-11-11T07:09:00.883 回答
0

这应该有效:

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

如果您想对 GET 数据做任何事情,请先对其进行清理。永远不要相信您的用户

于 2012-11-11T06:59:32.210 回答
0

抱歉,如果这不是您的问题,但解决方案可能只是对两个页面都使用 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");
    }
}
于 2012-11-11T07:35:11.103 回答