第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以使用此代碼來驗(yàn)證 $_GET 變量嗎?

可以使用此代碼來驗(yàn)證 $_GET 變量嗎?

PHP
桃花長相依 2021-08-28 17:16:05
我正在構(gòu)建一個使用 GET 參數(shù)的頁面,我想知道這段代碼是否成功評估了下一個條件:$_GET["id"]必須是一個積分器,而$_GET["status"]必須是一個“true”或“假”。$rawId = $_GET["id"];$rawStatus = $_GET["status"];$Id = filter_var($rawId, FILTER_SANITIZE_NUMBER_INT);$Id = filter_var($Id, FILTER_VALIDATE_INT);if (!$Id) {    die();}if ($rawStatus != "true" && $rawStatus != "false") {    die();}
查看完整描述

3 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個贊

您可以使用 is_int 和 is_bool 來實(shí)現(xiàn)這一點(diǎn)。在執(zhí)行此操作之前,請確保您還檢查是否設(shè)置了 $_GET 變量以避免潛在的通知


$rawId = (isset($_GET["id"]) ? $_GET["id"] : null);

$rawStatus = (isset($_GET["status"]) ? $_GET["status"] : null);


if (!is_int($rawId)) {

     //handle

}


if (!is_bool($rawStatus)) {

     //handle

}


查看完整回答
反對 回復(fù) 2021-08-28
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個贊

如果您需要檢查 $rawId 和 $rawStatus 的類型,您可以這樣做

is_integer($rawId); // return true if $rawId is integer
is_bool($rawStatus); // return true if $rawStatus is boolean

要檢查 $rawId 是否只有數(shù)字,您可以這樣做

is_numeric($rawId)

要檢查 $rawStatus 是否為 bool 你可以看到這個答案

測試字符串是否可以是布爾值 PHP

如果需要解析值,您可以使用intval()boolval()


查看完整回答
反對 回復(fù) 2021-08-28
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個贊

FILTER_SANITIZE_NUMBER_INT允許.,+和-,您可能不想包含它們。使用FILTER_VALIDATE_INT將定期檢查整數(shù)細(xì),不過請記住,這將返回false了0。如果您希望您的 ID 也包含0,那么您需要明確檢查這一點(diǎn):


$Id = filter_var($rawId, FILTER_VALIDATE_INT) === 0 || filter_var($rawId, FILTER_VALIDATE_INT));

假設(shè)您想$rawStatus成為true/的文字字符串false,那么您目前覆蓋它的方式可能是最佳方法,盡管聽起來您正在嘗試在此處進(jìn)行布爾檢查。在這種情況下,你可以簡單地檢查了存在的$rawStatus,使用缺乏它的存在表示一個falsy值:


if ($rawStatus)

正如您在評論中提到的,您確實(shí)需要檢查兩者是否都設(shè)置為isset()... 但您還需要檢查這些值是否為空。這可以通過!empty().


我還建議僅在已知有效狀態(tài)下進(jìn)行,而不是die()在已知無效狀態(tài)下進(jìn)行調(diào)用。


將所有這些放在一起,您將得到如下所示的內(nèi)容:


$rawId = null;


if (isset($_GET["id"]) && !empty($_GET["id"])) {

    $rawId = $_GET["id"];

}

if (isset($_GET["status"]) && !empty($_GET["status"])) {

    $rawStatus = $_GET["status"];

}


$Id = filter_var($rawId, FILTER_VALIDATE_INT) === 0 || filter_var($rawId, FILTER_VALIDATE_INT);


if ($Id && $rawStatus) {

    // Logic

}


查看完整回答
反對 回復(fù) 2021-08-28
  • 3 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號