1 頁 (共 3 頁)

[問題]重複的會員名稱

發表於 : 2004-06-15 00:24
tuna
我架了一個站,現已升級到2.0.8,未使用任何mod

現在註冊的人越來越多我才發現,phpbb好像不能自動檢查重複的會員名稱,導致一些人使用重複的會員名稱註冊而造成混亂,請問要怎麼解決呢?需要使用外掛嗎?還是我漏掉什麼設定了?

我在論壇上找了好久都沒找到相關的討論,請幫幫我,謝謝

發表於 : 2004-06-15 00:25
依夢兒
會員名稱不可能會重覆(一模一樣)吧?
方便抓個圖或是 PO 個連結網址讓大家看看嗎?

發表於 : 2004-06-15 00:31
神川小羽
我剛剛測試我自己的 沒辦法註冊同樣的會員名稱耶包含使用空格也是一樣 會出現
很抱歉!! 您所選擇的會員名稱已被註冊使用
應該不是 PHPBB本身沒辦法 自動檢查重複的會員名稱

發表於 : 2004-06-15 01:00
tuna
我忘了說只要名稱內有中文才會
完全是英文就沒問題
phpbb好像沒辦法比對有中文字的會員名稱

發表於 : 2004-06-15 03:34
依夢兒
tuna 寫:phpbb好像沒辦法比對有中文字的會員名稱
你可以舉例,在你站上有哪二位會員的名字是重覆的,大家再測試看看,這樣就知道是不是你自己的問題了....
不過說真的,你給的資訊太少,要幫你找出問題是一件很困難的事情。

理論上來說,中文會員名稱重覆也是不可能發生的,至少在我自己站上沒碰過。

發表於 : 2004-06-15 04:29
神川小羽
tuna 寫:我忘了說只要名稱內有中文才會
完全是英文就沒問題
phpbb好像沒辦法比對有中文字的會員名稱
.................跟中文 或英文 應該是沒關聯吧\r

我剛剛在測試一次包含以下種類的字碼\r
英數 字碼的帳號
中文 字碼的帳號
符號 字碼的帳號
中文+英數 字碼的帳號
中文+英數+符號 字碼的帳號
都測試過 只是會員名稱存在就沒辦法重複註冊了唷

發表於 : 2004-06-15 08:57
Mac
tuna 寫:我忘了說只要名稱內有中文才會
完全是英文就沒問題
phpbb好像沒辦法比對有中文字的會員名稱
把你的網站網址跟我們說\r
還有有問題的帳號,讓大家幫你一起試試看

~Mac

發表於 : 2004-06-15 10:20
tuna
網址是 http://www.emf.com.tw

我遇到的狀況就是只要會員名稱有中文字,phpbb就無法判別有沒有重複

如果各位大大有空幫我測試的話那真是再好不過了,有任何意見的話可以在論壇內的[enjoymusic forum 問題反應及公告區]發文給我,謝謝!!!!!!!

發表於 : 2004-06-15 12:51
神川小羽
我剛剛去他的站站看到了 真的有重複的名子
美人妤
美人妤
小乖
小乖
魏妤庭
魏妤庭
會員數量蠻多的 沒時間全部比對 不過可以發現的是 重複的會員帳號 都是同一天註冊的還應該是說是同一個時間註冊的
美人妤profile.php?mode=viewprofile&u=288
美人妤profile.php?mode=viewprofile&u=289

還有重複的帳號應該是可以使用例如
A帳號 發文數量10
A帳號 發文數量0
所以猜想應該不是會員故意註冊2次的而是有其他的因素。
還有發現他的會員帳號不少有亂碼的問題,大致上市這樣子 等等我去測試看看這幾個會員名稱帳號是否會變成這樣子。


後續補上
剛剛測試的結果.........用以上的會員名稱依然沒辦法重複註冊。
報告完畢。

發表於 : 2004-06-15 16:38
godbless
應該是有改動mods才發生的吧....

這種狀況我以前也發生過

後來就直接把原始碼全部改用新的就好了....也是在改mods以後發生的^^

發表於 : 2005-02-07 02:09
垃圾貓
最近我也碰到這個問題說,我有試過幾個中文的ID,就沒有這種狀況
圖檔
godbless:後來就直接把原始碼全部改用新的就好了....您的意思是什麼呢?我不太清楚去哪改?
我裝的MOD也不多,就上傳檔案那個,多國語言,快速回文,還有一個RSS
謝謝幫忙

發表於 : 2005-02-07 05:15
baboo
有幾個可能, 先試試這個比較容易試的...

去 includes\usercp_register.php 裡面看一下, 用搜尋的功能找下面這一行

代碼: 選擇全部

INSERT INTO
會找到數個, 每個找到之後看它後面接的字是什麼, 應該接 USERS_TABLE 的只有一個...

如果只找到一個的話那應該是其它問題...

如果找到超過一個的話可能這裡有問題...

發表於 : 2005-02-13 03:12
垃圾貓
baboo 寫:有幾個可能, 先試試這個比較容易試的...

去 includes\usercp_register.php 裡面看一下, 用搜尋的功能找下面這一行

代碼: 選擇全部

INSERT INTO
會找到數個, 每個找到之後看它後面接的字是什麼, 應該接 USERS_TABLE 的只有一個...

如果只找到一個的話那應該是其它問題...

如果找到超過一個的話可能這裡有問題...
您提到的這個字元我這邊只有一個,不知道還有哪裡可能有問題呢?
今天又碰到了同樣名稱的會員,應該是他沒收到認證信又註冊了一次,系統也給他又註冊了一次說。

發表於 : 2005-02-13 14:33
baboo
剛剛去 tuna 的站試... 結果成功的讓我註冊了兩次.... 加上還有 smtp error...

現在裡面有四個"筱惠兒"了...(逃...)
有可能是改 mod 的時候動到什麼了吧....

有一個簡單的修法.... 送出去之前多檢查一次... :p

在 includes\usercp_register.php 裡面,
約第 490 行的附近, 應該有一個 if ( !$error )

(在下面的程式碼中間, 如果你有加 mod 就要自己找了.)

代碼: 選擇全部

\n		if ( @file_exists(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $userdata['user_avatar'])) )
		{
			@unlink(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $userdata['user_avatar']));
		}
		$avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local);
	}

	if ( !$error )
	{
		if ( $avatar_sql == '' )
		{
			$avatar_sql = ( $mode == 'editprofile' ) ? '' : "'', " . USER_AVATAR_NONE;
		}
在這個 if ( !$error ) 的前面加上:

代碼: 選擇全部

	if ( $board_config['allow_namechange'] || $mode == 'register' )
	{
		if ( $username != $userdata['username'] || $mode == 'register' )
		{
			if (strtolower($username) != strtolower($userdata['username']))
			{
				$doubleCheck = validate_username($username);
				if ( $doubleCheck['error'] )
				{
					$error = TRUE;
					$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $doubleCheck['error_msg'];
				}
			}
			if (!$error)
			{
				$username_sql = "username = '" . str_replace("\'", "''", $username) . "', ";
			}
		}
	}
不過最好能夠把之前加裝的 mod 的錯誤改好...

發表於 : 2005-02-13 16:58
垃圾貓
...我用了您的方法,然後還是用那個重複的ID,結果還是可以註冊,真傷腦筋。有一些中文名稱檢查的時候正常??