PHP中$_REQUEST中未定义的索引变量,使用ISSET()时获得布尔值


Undefined index variable in $_REQUEST in PHP, getting a boolean value when using ISSET()

我使用$value = (isset($_REQUEST['value']))来定义索引变量。然而,$value变量在调试器中显示为布尔类型,值为0或1,这导致$value与(if)语句一起使用时无法获得正确的结果。

$page_limit = (isset($_REQUEST["list_page"]));
$viewdate = (isset($_REQUEST["viewdate"]));

如何更正以下内容以便定义索引?

if($_REQUEST["viewdate"] == '') {
      $viewdate = 'All';
  } else {
    $viewdate = $_REQUEST["viewdate"];
    }
$targetpage = "newindex.php?viewdate=".$_REQUEST["viewdate"]."&search=Search";           
$page = (isset($_REQUEST['page']));
if($page_limit == '') {

上面的代码可以工作,没有isset()函数,但显示通知- E消息

您应该使用isset来测试变量是否已设置,然后分配值。像这样:

$something = null;
if (isset($_REQUEST['something'])) {
    $something = $_REQUEST['something'];
    ...
}
// Later in the code 
if ($something !== null) {
    // Do stuff