我知道这很简单,但是我已经很久没有做过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");
}
}