因此,咱們的方法是不行的。 php
<!-----------------相信你們都認識我,我是淫蕩的分割線----------------> 數據庫
既然以前的方法是不行的,那麼咱們就刨根問底,看看$status是怎麼來的。
$status = $this->client->ps_member_register($userinfo['username'], $userinfo['password'], $userinfo['email'], $userinfo['regip'], $userinfo['encrypt']);
那麼,咱們去找這個函數去。$this->client->ps_member_register說明它在
\phpcms\modules\member\classes\client.class.php中。查找它在第26行。
這裏和email有關的有兩個:
一個是_is_email,會返回-3,一個是_ps_send函數。
直接查找 _is_email函數,在445行,直接return true算了。(其實更好的是將_is_email函數屏蔽)。
那看下return $this->_ps_send('register', array('username'=>$username, 'password'=>$password, 'email'=>$email, 'regip'=>$regip, 'random'=>$random));
繼續查找_ps_send,314行,好吧,看一眼就知道,咱們還得查兩個,一個是_ps_post,330行,單純的post。
還有一個就是/index.php?m=phpsso&c=index&a=".$action ,也就是說,send也是一個基本函數。去找action吧。
//m=phpsso&c=index&a=register
打開\modules\phpsso\index.php,找到register函數。
很明顯,54行有個check email函數。上面的註釋也說的很明白,返回-2,爲郵箱重複,查找返回-2的。
525行,查找函數註釋:返回-1爲郵箱存在。
從頭看這個函數,開始的時候,驗證,爲空則返回重複-1.
最後有個數據庫檢查$r = $this->db->get_one(array('email'=>$this->email));
有則爲-1.
因爲這裏改動較多,並且咱們的需求是不要郵箱驗證。那麼,從上面去掉註冊時的檢查就行了。
還記得麼,剛纔的那個函數,54行check email,註釋掉吧,這樣,郵箱驗證ok。
ubuntu
因爲原電腦不在身邊,至今不知道爲何原系統能正常註冊…… 服務器