我知道这很容易,但是自从我完成 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 中。
太感谢了。
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");
}
}