我知道这很容易,但是自从我完成了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页面。
非常感谢你。
答案 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");
}
}