PHP - 在$ _SESSION [$ _ REQUEST []]变量上检查isset

时间:2013-03-22 12:18:18

标签: php

似乎很简单,但无法解决原因:

if(!isset($_SESSION[$_REQUEST["form_id"]]))
{
     //do stuff
} 

reutrns

Notice: Undefined index: form_id

empty返回相同的回复。

这让我疯了一会儿。 :)

4 个答案:

答案 0 :(得分:4)

您正在为$_SESSION调用isset,但由于错误说明问题是$_REQUEST['form_id']没有设置。

 if (!isset($_REQUEST['form_id']) || !isset($_SESSION[$_REQUEST['form_id']])) {

答案 1 :(得分:2)

那是因为它首先解析$_REQUEST['form_id']并导致通知。你可以这样做:

if (!isset($_REQUEST['form_id']) || !isset($_SESSION[$_REQUEST["form_id"]]))
{
     //do stuff
} 

答案 2 :(得分:0)

请检查密钥是否存在

 array_key_exists('form_id', $_REQUEST);

在使用

检查值之前
isset($_REQUEST['form_id']);

答案 3 :(得分:-1)

或检查你的参数是否为空

<?php 
if (!empty($_REQUEST['form_id'])) {
  // do anything
}
else
{
  // I can't find the key in array 
}
?>