新聞中心
Ecshop如何用注冊(cè)的手機(jī)號(hào)碼登錄、郵箱登錄到商城
站長(zhǎng)朋友們都知道現(xiàn)在很多網(wǎng)站都是支持很多種登陸方式了,例如QQ登陸,手機(jī)號(hào)碼登陸,郵箱登陸等等,那么為什么需要開發(fā)這么多的登陸方式呢?無憂主機(jī)小編在這里概述下:隨著很多網(wǎng)站都需要登陸會(huì)員才能訪問了,那么我們也注冊(cè)的賬號(hào)數(shù)不勝數(shù)了,難免會(huì)忘記了自己的會(huì)員賬號(hào),那么如果忘記了麻煩的需要重新注冊(cè)簡(jiǎn)單的也是要找回密碼才能登陸,我們?yōu)槭裁床荒苡米?cè)時(shí)預(yù)留的手機(jī)號(hào)碼,郵箱登陸呢,對(duì)于ecshop這個(gè)強(qiáng)大的開源商城都是支持的,如果用QQ登陸只需要在自己的商城上使用一個(gè)QQ插件就可以用QQ登陸了,小編的小伙伴也是寫了一篇用email登陸email商城。今天無憂主機(jī)小編研究下又實(shí)現(xiàn)了用注冊(cè)時(shí)候預(yù)留的手機(jī)號(hào)碼或者郵箱的登陸方式,小編在這里把小編的就方案為大家分享下: 第一步:找到主機(jī)根目錄下的user.php文件 首先找到: if ($user->login($username, $password,isset($_POST['remember']))) 在這行代碼之上添加一段代碼如下: if(is_email($username)) { $sql="selectuser_name from ".$ecs->table('users')." where email='".$username."'"; $username_e = $db->getOne($sql); if($username_e) $username=$username_e; } if(is_telephone($username)) { $sql ="select user_name from ".$ecs->table('users')." where mobile_phone='".$username."'"; $username_e = $db->getOne($sql); if($username_e) $username=$username_e; } 這段代碼是判斷你登陸的是用的手機(jī)還是郵箱或者email登陸的,判斷之后從數(shù)據(jù)庫(kù)中取出你當(dāng)時(shí)注冊(cè)預(yù)留的對(duì)應(yīng)的信息和你現(xiàn)在的登陸信息做對(duì)比,如果吻合則通過。因?yàn)槲覀儺?dāng)時(shí)注冊(cè)的時(shí)候可能手機(jī)號(hào)碼填寫的格式不對(duì)或者不是11位數(shù)的手機(jī)號(hào)碼,或者填寫的是電話號(hào)碼(例如無憂主機(jī)咨詢電話0791-86113263)因此還要添加一行代碼做判斷。 第二步:在user.php的底部再增加一行代碼如下: function is_telephone($phone){ $chars = "/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/"; if (preg_match($chars, $phone)){ return true; } } 通過以上兩個(gè)步驟設(shè)置后即使你在登錄的地方地方?jīng)]有設(shè)置驗(yàn)證碼也是可以通過登錄到商城的。小編在這里還要嘮叨下,有的時(shí)候數(shù)據(jù)庫(kù)中可能是存在用戶名不相同,但是預(yù)留的手機(jī)號(hào)碼相同的,這樣賬戶就有點(diǎn)不是很安全的,當(dāng)然這也是可以避免的,再次修改下注冊(cè)部分的代碼,把手機(jī)號(hào)碼修改為實(shí)現(xiàn)注冊(cè)時(shí)手機(jī)號(hào)碼的唯一性,如果再能用手機(jī)短信形式驗(yàn)證手機(jī)登陸的真實(shí)性就更加完美了,小編在這里只是提出了思想,感興趣的站長(zhǎng)朋友還是可以不防去試試的。 無憂主機(jī)相關(guān)文章推薦閱讀: ECSHOP無法保存HTML郵件怎么辦? 在ECSHOP會(huì)員中如何限制(添加或者減少)會(huì)員收貨地址的數(shù)量 ECSHOP添加QQ客服使用后提示“抱歉,無法發(fā)起臨時(shí)會(huì)話,您可以 添加對(duì)方為好友以發(fā)送消息”的完美解決方案
本文地址:http://www.gle-technology.com/ecshop/14688.html