phpcms2008實現(xiàn)特殊郵箱可重復(fù)注冊

          首先來說明一下當我們要注冊會員的時候填入郵箱后當鼠標離開文本框的時候他是利用ajax來調(diào)用判斷用戶的email是否以經(jīng)被注冊了,這要打開他的模版文件,home/templates/member/register.html在這個頁面中我們可以看到:<input name="memberinfo[email]" type="text"  style="ime-mode:disabled" require="true" datatype="email|ajax" url="{$M[url]}register.php?action=checkemail" msg="郵件格式不正確|" id="email" size="30" />這么一段代碼,從這里我們可以看到他要調(diào)用的是register.php頁面,其中傳遞了一個參數(shù)是action=checkemail那么我們?nèi)egister.php頁面,在這個頁面中我們可以找到當action=checkemail時他所執(zhí)行的代碼:
          case 'checkemail':
             if(!is_email($value))
             {
              exit($LANG['input_valid_email']);
             }
             elseif(!$M['allowemailduplicate'] && $member->email_exists($value))
             {
              exit($member->msg());    
             }
             else
             {
              exit('success');
             }
            break;
           case 'regagreement':
             exit($M['reglicense']);
            break;
          從這里可以看出他執(zhí)行查詢郵件是否以被注冊了的代碼是elseif(!$M['allowemailduplicate'] && $member->email_exists($value))

          也就是調(diào)用的memaber.class.php這個類中的email_exists這個方法,所以我們只要對這個方法進行二次開發(fā)就可以了。

          現(xiàn)在我們把這個方法改為:
          function email_exists($email, $userid = '')
           {
            /** 二次開發(fā)目的:滿足會員注冊有些特定郵箱可以重復(fù)注冊  
             * */
            $debar_email_a=array();
            $debar_email_a=explode('|',DEBAR_EMAIL);
            $result = $this->db->get_one("SELECT userid,email FROM $this->table_cache WHERE email='$email' AND userid!='$userid'");
            if($result && !in_array($result[email],$debar_email_a))
            {
             $this->msg = 'have_used_change_one_email';
             return true;
            }
            return false;
            /*
             * 二次開發(fā)結(jié)束
             * */
           }
          DEBAR_EMAIL 這個是我們定義的一個常量,我把他放在了config.inc.php這個文件中,他的里邊存的值是這樣子的:

          //在會員注冊中充許重復(fù)注冊的郵箱
          define('DEBAR_EMAIL','wfwl@126.com|wf0536@126.com');

          這里邊就是存儲著你可以重復(fù)注冊的郵箱。
          說到這里我們應(yīng)該明白后邊的是怎么做的了。

          備注:如果有更好的方法請貼出來共同分享
          QQ:597342373

          posted on 2009-08-28 11:18 丁克設(shè)計 閱讀(419) 評論(0)  編輯  收藏 所屬分類: phpcms2008技術(shù)文檔

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 余干县| 洛阳市| 邯郸县| 高平市| 昭苏县| 松原市| 文登市| 建宁县| 江孜县| 沾益县| 任丘市| 莆田市| 南溪县| 沁水县| 克什克腾旗| 中牟县| 宾川县| 汝南县| 开鲁县| 楚雄市| 莎车县| 丽江市| 台中市| 莆田市| 靖边县| 肃宁县| 天全县| 泰安市| 松原市| 庆阳市| 精河县| 阿克陶县| 西畴县| 枣庄市| 五常市| 呼和浩特市| 建瓯市| 大英县| 金坛市| 茌平县| 崇信县|