关于md5password扩展的问题

#1 prince

原pwvalue()代码,返回值总是-1,所以总得不到加密的密码:
public function pwvalue()
        {
                $md5pw = spClass("spArgs")->get($_SESSION["SpAclInputHash"],false);
                if(empty($_SESSION["SpAclInputHash"]))return -1;
                unset($_SESSION["SpAclInputHash"]);
                return ( $md5pw == '-1' ) ? false : $md5pw;
        }
做如下修改后能得到正确的加密密码(请问我这样改有何敝端吗?):
public function pwvalue()
        {
            global $md5pw;
                $md5pw = spClass("spArgs")->get($_SESSION["SpAclInputHash"],false);
                switch (empty($_SESSION["SpAclInputHash"]))
                {
                  case true:
                    unset($_SESSION["SpAclInputHash"]);
                    return -1;
                    break;
                  case false:
                    unset($_SESSION["SpAclInputHash"]);
                    return $md5pw;
                    break;
                  default:
                    unset($_SESSION["SpAclInputHash"]);
                    return false;
                    break;                    
            }
        }

2010-08-07 17:22:28

#2 jake

你的代码和pwvalue()的前面部分是一样的,而pwvalue()比你的代码多了( $md5pw == '-1' ) ? false : $md5pw;的判断,是因为在前端js中,如果密码没有输入(或者其他的js问题),密码框没有值的时候,$md5pw就会等于-1,然后发送到md5password中就会被返回-1。

2010-08-07 18:42:18

#3 prince

回复 2 jake


    明白,谢谢

2010-08-07 19:32:36