2016-07-04 38 views
0

我有一个包含使用方法“GET”的表单的页面。当我提交它时,传递到下一页的值是例如http://localhost/land_by_province.php?province_id=14,但是当我使用echo isset($_REQUEST['province_id']);时,我总是得到'1'。

即使我省份号的值已经改变了$_REQUEST['province_id']总是返回'1'。

为什么它是这样的?

回答

3

isset()返回一个布尔值,而不是变量的值。由于该变量已设置,你会得到一个1,这就是你在PHP中输出boolean TRUE时的gert。

所以,你最好不要使用isset()来回显变量内容。

echo $_REQUEST['province_id']; 

仅供参考,它总是使用更安全$_GET超过$_REQUEST

0

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"; 
    }