我有一个包含使用方法“GET”的表单的页面。当我提交它时,传递到下一页的值是例如http://localhost/land_by_province.php?province_id=14
,但是当我使用echo isset($_REQUEST['province_id']);
时,我总是得到'1'。
即使我省份号的值已经改变了$_REQUEST['province_id']
总是返回'1'。
为什么它是这样的?
我有一个包含使用方法“GET”的表单的页面。当我提交它时,传递到下一页的值是例如http://localhost/land_by_province.php?province_id=14
,但是当我使用echo isset($_REQUEST['province_id']);
时,我总是得到'1'。
即使我省份号的值已经改变了$_REQUEST['province_id']
总是返回'1'。
为什么它是这样的?
isset()
返回一个布尔值,而不是变量的值。由于该变量已设置,你会得到一个1,这就是你在PHP中输出boolean TRUE时的gert。
所以,你最好不要使用isset()
来回显变量内容。
echo $_REQUEST['province_id'];
仅供参考,它总是使用更安全$_GET
超过$_REQUEST
。
ISSET
ISSET检查变量,看它是否已被设定,换言之,它检查以查看是否变量是除了NULL或不分配一个值的任何值。如果变量存在并且具有非NULL值,ISSET将返回TRUE。这意味着分配变量 “”,0, “0”,或FALSE设置,因此是真正的为ISSET
你必须
if(isset($_REQUEST['province_id'])) //if value set it return 1 i.e true
{
echo $_REQUEST['province_id'];
}
else
{
echo "Not Set";
}