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

时间:2012-11-11 06:45:59

标签: php html get include

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

我有两种类型的链接。一个使用$_get[] p和其他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页面。

非常感谢你。

4 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

你说你要加载特定div的页面吗?你可以通过使用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);

     }
});

答案 2 :(得分:0)

这应该有效:

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

如果您想对GET数据执行任何操作,请首先对其进行清理。不要相信您的用户

答案 3 :(得分: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");
    }
}