我认为这是简单的代码,但这并不按预期工作:
$id = $_GET['id'];
if (!isset($id)){
header("HTTP/1.1 404 not found");
include("404.php");
}
else {
include('includes/functions.php');
}
所以我从URL获取了get参数但我没有收到404错误?
有什么想法吗?
答案 0 :(得分:11)
您必须直接在$_GET['id']
进行测试:
if(!isset($_GET['id']) { ... }
即使未设置$_GET['id']
,由于您尝试将其分配给$id
,$id
开始存在,因此测试返回true,因此您没有404错误。
答案 1 :(得分:1)
您正在检查是否设置了$ id。它是:
$id = $_GET['id'];
所以你必须检查是否设置了get变量:
isset($_GET['id'])
答案 2 :(得分:0)
你在第一行创建了$ id变量。你应该检查一下$_GET['id']
。您也可以将此变量检查为空。