[問題] 尋找一個外掛可以Check有沒有已使用的會員名稱‧

phpBB 2 MOD Support
無論是官方或非官方認證之外掛,安裝與使用問題討論。
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

[問題] 尋找一個外掛可以Check有沒有已使用的會員名稱‧

文章 vaio »

問題外掛:N/A
參考連結:N/A
使用版本:phpBB 2.0.15
網站位置:因公司用途,所以不便公開‧敬請原諒‧\r
狀況描述:

小弟想找一個外掛係給新使用者註册時可以Check所輸入的使用者名稱有沒有被其他人已登記‧請各立大大幫幫小弟呢‧
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

Re: [問題] 尋找一個外掛可以Check有沒有已使用的會員名稱‧

文章 心靈捕手 »

vaio 寫:問題外掛:N/A
參考連結:N/A
使用版本:phpBB 2.0.15
網站位置:因公司用途,所以不便公開‧敬請原諒‧\r
狀況描述:

小弟想找一個外掛係給新使用者註册時可以Check所輸入的使用者名稱有沒有被其他人已登記‧請各立大大幫幫小弟呢‧
建議您:
自行測試看看,...
系統預設, 已經擁有這個功能, 應該不必再新增外掛才對. :roll:
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

多謝大大的回覆,但小弟已Check沒有這個功能呢‧
jackyilk
竹貓忠實會員
竹貓忠實會員
文章: 538
註冊時間: 2002-07-21 18:55
來自: 台灣

文章 jackyilk »

vaio 寫:多謝大大的回覆,但小弟已Check沒有這個功能呢‧
你先註冊一個ABCD的帳號

開通之後再註冊一次發現已經不能在註冊同一個帳號了

那跟你原本的意思就差不多了

所以系統已經有這項預設功能了

不過我在想你說的意思應該是\r

在註冊前點選帳號檢查紐,可以先讓會員檢查自己要註冊的帳號是否已經被註冊過了

是不是這個意思 :mrgreen:
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

係呢係呢,請大大可否告知小弟那裏有這個外掛呢
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

我是不知道有沒有像這樣現成的外掛,不過這要寫應該不會很困難\r
大概給你一點方向
首先自己製作1個php檔案,這個擋案的內容需要一個文字的表單跟一個送出按鈕
然後寫一個查詢句送去資料庫,然後回傳查到的資料列數量如果大於1
就表示有人使用過這個名稱,就echo一段文字說 這會員名稱已經存在啦\r
然後在註冊的頁面上塞一個JavaScript按鈕,來彈跳出一個大約300*200的小視窗式你製作的這個php檔案
我沒有學過Java ,不過網路上有很多範例我剛找一個

代碼: 選擇全部

<SCRIPT LANGUAGE="JavaScript">
function Hi() {
window.open('欲連結網頁.htm','','width=300,height=220, scrollbars=yes,resizable=yes')
}
</SCRIPT>
<FORM>
<INPUT TYPE="BUTTON" VALUE="請按我" onClick="Hi()" >
</FORM>
PHP大約是這樣寫的(範本)

代碼: 選擇全部

<?php 
define('IN_PHPBB', true); 

$phpbb_root_path = './';  
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
$gen_simple_header = TRUE;//這是不要出頁頭雜七雜八的東西
include($phpbb_root_path . 'includes/page_header.'.$phpEx);


//可以再這裡引入一個樣版檔或是直接將html寫在這
//主要是要寫一個表單\r

//再來如果這個檔案街收到變數 (判斷式)
//sql查詢句就由這裡寫起\r

include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
-.-
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

非常感謝大大的回覆及教學,但小弟對編寫程序一點都不懂呢‧ >.<
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

大致上是這樣吧,不知道有沒有寫錯耶......
在來就是看你要怎樣在註冊頁面加上超聯結或是直接用我說的java按鈕了

代碼: 選擇全部

<?php 
	define('IN_PHPBB', true); 
	
	$phpbb_root_path = './';  
	include($phpbb_root_path . 'extension.inc'); 
	include($phpbb_root_path . 'common.'.$phpEx); 
	
	$userdata = session_pagestart($user_ip, PAGE_INDEX); 
	init_userprefs($userdata); 
	$gen_simple_header = TRUE;
	include($phpbb_root_path . 'includes/page_header.'.$phpEx);
?>
	<form name="<?=$_SERVER['SCRIPT_NAME']?>" method="post" action="">
	  <input name="username" type="text" id="username" size="30">
	  <br />
	  <input type="submit" name="Submit" value="送出">
	</form>
<?
	if (isset($HTTP_POST_VARS['username']))
	{
		$username = $HTTP_POST_VARS['username'];
	}
	if ($username)
	{
		$sql ="SELECT u.username 
		FROM " . USERS_TABLE . " u
		WHERE u.username ='$username'";
		if (!($result = $db->sql_query($sql)))
		{
			message_die(GENERAL_ERROR, '無法送出查詢資料', '', __LINE__, __FILE__, $sql);
		}
		$sql_username = $db->sql_fetchrow($result);
		if ($sql_username)
		{
			echo "您輸入的會員名稱".$username."已經存在";
		}
		else
		{
			echo "您輸入的會員名稱".$username."並不存在";			
		}
	}
	include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 
?>
-.-
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

多謝大大的耐心教導,但請問這段CODE要加在那個File裏呢?
神川小羽
調皮の小羽
調皮の小羽
文章: 1461
註冊時間: 2004-05-01 05:55
來自: 謎樣之筱語
聯繫:

文章 神川小羽 »

沒阿~~ 就把這全部複製回去做成一個PHP檔然後丟到你的PHPBB目錄裡面去\r
然後在瀏覽器上測試一次看看。
-.-
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To vaio:

援用 神川小羽 大大提供的語法, 我將它修改如下, 提供您參考:

代碼: 選擇全部

#
#-----[ Open ]-----
#
templates/YOUR_THEME/profile_add_body.tpl

#
#-----[ Find ]-----
#
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" /></td>

#
#-----[ Replace With ]-----
#
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" />
<input type="submit" name="check_username" value="查詢該帳號是否已經有人使用?" class="liteoption" /></td>

#
#-----[ Open ]-----
#
includes/usercp_register.php

#
#-----[ Find ]-----
#
if (
	isset($HTTP_POST_VARS['submit']) ||
	isset($HTTP_POST_VARS['avatargallery']) ||
	isset($HTTP_POST_VARS['submitavatar']) ||
	isset($HTTP_POST_VARS['cancelavatar']) ||
	$mode == 'register' )
{

#
#-----[ Replace With ]-----
#
if (
	isset($HTTP_POST_VARS['submit']) ||
	isset($HTTP_POST_VARS['check_username']) ||
	isset($HTTP_POST_VARS['avatargallery']) ||
	isset($HTTP_POST_VARS['submitavatar']) ||
	isset($HTTP_POST_VARS['cancelavatar']) ||
	$mode == 'register' )
{

#
#-----[ Find ]-----
#
if ($mode == 'register' && ($userdata['session_logged_in'] || $username == $userdata['username']))
{
	message_die(GENERAL_MESSAGE, $lang['Username_taken'], '', __LINE__, __FILE__);
}

#
#-----[ After Add ]-----
#
//
//+ Check username 
//
   if (isset($HTTP_POST_VARS['check_username'])) 
   { 
      $username = $HTTP_POST_VARS['username']; 
   } 
   if ($username) 
   { 
      $sql ="SELECT u.username 
      FROM " . USERS_TABLE . " u 
      WHERE u.username ='$username'"; 
      if (!($result = $db->sql_query($sql))) 
      { 
         message_die(GENERAL_ERROR, '無法送出查詢資料', '', __LINE__, __FILE__, $sql); 
      } 
      $sql_username = $db->sql_fetchrow($result); 
      if ($sql_username) 
      { 
         message_die(GENERAL_MESSAGE, $lang['Username_X'] ); 
      } 
      else 
      { 
         message_die(GENERAL_MESSAGE, $lang['Username_O'] );         
      } 
   } 
//
//- Check username
//

#
#-----[ Open ]-----
#
language/lang_chinese_traditional_taiwan/lang_main.php

#
#-----[ Find ]-----
#
$lang['Username_taken'] = '很抱歉!! 您所選擇的會員名稱已被註冊使用';

#
#-----[ After Add ]-----
#
$lang['Username_X'] = '很抱歉!! 您所選擇的會員名稱已被註冊使用<br><br><a href="javascript:history.go(-1)">回上一頁</a>';
$lang['Username_O'] = '恭喜您!! 您所選擇的會員名稱尚未有人使用<br><br><a href="javascript:history.go(-1)">回上一頁</a>';
\n
# 
#-----[ Save / Close All Files ]-----
# 
# EoM
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

多謝兩位大大的幫手,但在按檢查帳號後的結果可否改用popup windows來顯示呢?
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

vaio 寫:多謝兩位大大的幫手,但在按檢查帳號後的結果可否改用popup windows來顯示呢?
理論上是可以的,
但是效益上不見得好!

以下是 倉木麻衣 兄對我的建言, 提供您參考:
有考慮修改它的popup方式嗎?
如同竹貓那邊某使用者說的
現在使用google(或yahoo?) toolbar、xp有裝sp2或是有裝阻擋popup程式的人是愈來愈多
所以當有新的pm或新的公告出來時~常會被擋下來
Source: http://wang5555.dnsfor.me/phpbb2/viewtopic. ... 8399#28399
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
vaio
星球公民
星球公民
文章: 133
註冊時間: 2004-03-18 16:03

文章 vaio »

咁又係,但小弟裝了後正常的‧但如果唔入任何資料照按去檢查帳號佢甚麼Message都沒有出來‧所以可否加句Message話"你沒有填入任何資料,請回上填入資料再檢查過‧"若果User在沒有填入任何野時‧
DL
竹貓忠實會員
竹貓忠實會員
文章: 717
註冊時間: 2005-03-05 15:29

文章 DL »

彈出視窗可以用JS來寫,如果你要的話我可以替你嘗試一下。
主題已鎖定

回到「外掛問題討論」