簡體   English   中英

PHP if語句與isset不起作用

[英]PHP if statement with isset not working

我認為這是簡單的代碼,但這不能按預期工作:

$id = $_GET['id'];
if (!isset($id)){
    header("HTTP/1.1 404 not found");
    include("404.php");
}
else {
    include('includes/functions.php'); 
}

所以我從URL獲取了get參數但我沒有收到404錯誤?

有任何想法嗎?

你必須直接在$_GET['id']上進行測試:

if(!isset($_GET['id']) { ... }

即使未設置$_GET['id'] ,因為您嘗試將其分配給$id$id開始存在,因此測試返回true,因此您沒有404錯誤。

您正在檢查是否設置了$ id。 它是:

$id = $_GET['id'];

所以你必須檢查是否設置了get變量:

isset($_GET['id'])

你在第一行創建了$ id變量。 你應該檢查$_GET['id'] 您也可以將此變量檢查為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM