2024国产成人精品免费视频|日本免费一区二区三区毛片|久久97超碰色中文字幕|亚洲天堂a中文字幕

解決Discuz X3.2及以上版本注冊表單郵箱(email)必填與非必填問題

2014-12-04 14:28 欄目:技術(shù)開發(fā) 查看(62979)

解決Discuz3.2及以上版本注冊表單郵箱(email)必填與非必填問題

今天有個(gè)朋友出現(xiàn)了一個(gè)問題,就是在他的論壇中以前設(shè)置了可以不填寫郵箱也可以注冊帳號(hào),以前沒任何問題,而現(xiàn)在他發(fā)現(xiàn)如果不填寫郵箱就注冊不了了。如下圖所示:

解決Discuz3.2及以上版本注冊表單郵箱(email)必填與非必填問題

 

問題存在緣由

在DZ3.2以前的版本的后臺(tái)我們可以在全局——注冊與訪問——取消郵箱注冊必填如下圖,其實(shí)這個(gè)設(shè)計(jì)完全是多余的,因?yàn)槲夜烙?jì)95%以上用戶不會(huì)動(dòng)這個(gè)設(shè)置,主要的原因有以下幾點(diǎn):

1、對于普通的小網(wǎng)站來說,用郵箱作為用戶的備用帳號(hào)是合理也是成本低的,不像大網(wǎng)站可能還會(huì)用到手機(jī)號(hào)碼之類的,而且就算是大網(wǎng)站注冊的時(shí)候一般都會(huì)提示用戶綁定郵箱;

2、對于用戶取回密碼等操作,小網(wǎng)站似乎使用郵箱來作為憑據(jù)是再好不過的了;

3、收集用戶的信息郵箱是非常重要的,對于網(wǎng)站以后發(fā)送緊急通知等信息是有幫助的。

"sss
接下來就問題來了,Discuz官方團(tuán)隊(duì)可能也考慮到了這個(gè)問題,也許他們也像我這樣認(rèn)為這個(gè)地方在后臺(tái)出現(xiàn)沒多大必要,于是他們就在X3.2版本中更新了這個(gè)模塊,更新的結(jié)果我覺得應(yīng)該是這樣的:在后臺(tái)取消這個(gè)設(shè)置,但數(shù)據(jù)庫里面存儲(chǔ)的信息不變,而且在注冊的時(shí)候不再使用這個(gè)數(shù)據(jù)庫里面的設(shè)置的值為依據(jù)。于是就造成了上面的問題了,雖然讓用戶覺得不需要必須填(因?yàn)闆]紅星),但不填之后注冊不了。

問題分析

通過對X3.1后臺(tái)設(shè)置分析發(fā)現(xiàn)這里是一個(gè)radio類型的,也就是開關(guān)(廢話而已,誰都看得出來);表單name為settingnew[forgeemail],值為0和1,0為關(guān)閉,1為打開,這個(gè)跟一般的習(xí)慣都是一樣的。也就是說這個(gè)值選擇1時(shí)我們注冊的時(shí)候可以不需要填寫郵箱,反之也就是默認(rèn)情況下我們必須填寫郵箱才能注冊帳號(hào)。

而做過Discuz二次開發(fā)的同學(xué)都應(yīng)該清楚,其實(shí)后臺(tái)類似這樣的設(shè)置數(shù)據(jù)都是存儲(chǔ)在common_setting這個(gè)數(shù)據(jù)表中,而很快我發(fā)現(xiàn)這個(gè)數(shù)據(jù)表中直接有forgeemail這個(gè)記錄,說明這個(gè)地方dz是直接保存的(不想保存高亮值信息那樣,還通過進(jìn)制轉(zhuǎn)化,哈哈,不用再看源代碼去了)。如下圖(當(dāng)然下面是默認(rèn)的樣子)

324324

問題解決

說到這里大家就應(yīng)該明白了什么問題了,其實(shí)這個(gè)問題就是3.2以后這個(gè)數(shù)據(jù)表中的skey為forgeemail的記錄只是用于判斷是否帶紅星,而不用于判斷是不是真要填;換句話說不管這里設(shè)置的是0還是1,你的網(wǎng)站注冊的時(shí)候都得填寫郵箱(這可能也是DZ團(tuán)隊(duì)在升級(jí)改變這個(gè)問題所忽視的地方,比如就算強(qiáng)制設(shè)計(jì)成必填,那么也應(yīng)該把數(shù)據(jù)庫的這個(gè)字段值在升級(jí)的時(shí)候自動(dòng)覆蓋成0了)。

那么如果徹底解決(也就是可以讓你的網(wǎng)站實(shí)現(xiàn)用戶不不必填寫郵箱也可以注冊),這個(gè)相對比較復(fù)雜,要修改你注冊表單的驗(yàn)證程序,而且我個(gè)人也不推薦這么做,這里就不詳述了。

那么接下來就是把注冊的時(shí)候帶上紅星(其實(shí)默認(rèn)的時(shí)候就是這樣的),當(dāng)然問題是針對在3.2之前通過后臺(tái)設(shè)置過這值的網(wǎng)站。那么現(xiàn)在去數(shù)據(jù)庫找到common_setting這個(gè)數(shù)據(jù)表找到skey值forgeemail的svalue改為默認(rèn)的0就可以了,也可以在數(shù)據(jù)庫管理工具或者網(wǎng)站后臺(tái)運(yùn)行以下sql語句

update pre_common_setting set ‘svalue’=’0′ where ?‘skey’=’forgeemail’

注意:這里的表前綴為DZ的默認(rèn)的pre_,如果你修改了,改成你新修改的

與我們的項(xiàng)目經(jīng)理聯(lián)系
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流

轉(zhuǎn)載請注明出處:解決Discuz X3.2及以上版本注冊表單郵箱(email)必填與非必填問題 - 微構(gòu)網(wǎng)絡(luò)
分享:
武隆县| 江达县| 桦川县| 赣州市| 定南县| 淮阳县| 酒泉市| 新宾| 老河口市| 客服| 平塘县| 土默特左旗| 濮阳县| 河东区| 漳浦县| 唐海县| 博白县| 安岳县| 德昌县| 澳门| 沙洋县| 闻喜县| 甘谷县| 泸溪县| 青龙| 文昌市| 清远市| 大同市| 任丘市| 绩溪县| 南康市| 沾益县| 铁力市| 海丰县| 中西区| 凤台县| 兴业县| 长兴县| 柳江县| 灌阳县| 新巴尔虎右旗|