isset($_GET['login'])这个里面,$_GET是获取post传上来的值,要是这个login的值为空,那么$_GET['login']的值不就等与空吗?而isset是判断一个变量有没有定义的,那先算$_GET['login']为空,在判断空有没有定义?这样理解不对吧

解决方案 »

  1.   

    $_GET是get方法传递的值,不是post的值变量没有定义是null,$_GET['login'] == ''是指login是空字符。
      

  2.   

    isset判断的是一个变量有没有没定义,但是$_GET['login']是一个变量吗?它不是一个值吗?
      

  3.   

    第一步
    $_GET['login'] 相当于你声明一个变量$login第二步
    但我们编程时不知道是否存在$login变量,
    所以决定用isset函数来检查一下,
    如果真的存在$login变量则返回真,否则为假,
    至于变量里有什么值,或者没值,isset不会理会第三步
    如果即想判断一个变量存在,又要不等于空则用empty函数第四步
    终上述所得,比较经典的做法如下代码$login = $_GET['login'];   //通常可以跳过
    if(isset($login) && !empty($login)) {
         //do something with the code for your job...
    }