1
我將expressionengine用作CMS,但要覆蓋新用戶的核心驗證。當有人註冊爲新用戶時,系統檢查是否已經獲取了screen_name。如果是,那麼它會拋出一個錯誤標誌。將索引值附加到重複的屏幕名稱
我發現那在做驗證碼的部分,但我想改變它,這樣,而不是拋出的和錯誤的SCREEN_NAME附加與計數值上方的空間和數量(一個。
因此,「約翰·史密斯」被改成了「約翰·史密斯3」(假設有在數據庫中其他兩個「約翰·史密斯」 screen_names)。
如何修改這個代碼,以達致這?
/** -------------------------------------
/** Is screen name taken?
/** -------------------------------------*/
if (strtolower($this->cur_screen_name) != strtolower($this->screen_name))
{
$query = $DB->query("SELECT COUNT(*) AS count FROM exp_members WHERE screen_name = '".$DB->escape_str($this->screen_name)."'");
if ($query->row['count'] > 0)
{
$this->errors[] = $LANG->line('screen_name_taken');
}
}
我想自動執行此操作 - 不顯示錯誤消息。我想更新screen_name的值而不會出現錯誤消息。如何將$ name附加到$ this-> screen_name中? – proee 2010-02-26 20:10:30
這是你應該在GUI部分工作的東西,也許使用jquery/prototype/dojo。 您可以修改$ this-> errors [] = $ name;並在JavaScript部分這將更新字段'screen_name'的形式。 – DCC 2010-02-26 20:24:45
我可以只取代你的最後一個錯誤行: $ this-> screen_name = $ name – proee 2010-02-26 20:27:39