如上, 小弟嘗試自行在會員資料表中新增一個user_like23 的Varchar 欄位,也參考nickname MOD 上的Code 作修改..但終究還是顯示不出來... 即使參考MOD,但能完全了解該段Code的部分少之又少,出錯的地方一定很多, 我貼出來麻煩有經驗者能幫小弟解惑,感謝!!
1. 我想在註冊時能填寫user_like23 以及檢視修改都會有該欄位出現供修改.所以我修改下列這幾支程式不知道正不正確?
admin/admin_users.php
includes/usercp_avatar.php
includes/usercp_register.php
includes/usercp_viewprofile.php
language/..../lang_main.php
templates/..../profile_add_body.tpl
templates/..../profile_view_body.tpl
templates/..../admin/user_edit_body.tpl
2.在MOD 中常常看到<!-- BEGIN switch_namechange_allowed -->類似的注解,請教這是否有其他涵義,不能一樣也不能亂填..好像跟某個變數有關??
3.因有很多小弟並不太能了解該段Code用意, 故小弟列出修改的步驟期望曾經成功的大大幫小弟檢視一下..(貼的方式如有錯請見諒~~)
#
#-----[OPEN 開啟]-------------------------------------------
\n#
admin/admin_users.php
#
#-----[FIND 尋找]-------------------------------------------
#
$interests = ( !empty($HTTP_POST_VARS['interests']) ) ? trim(strip_tags( $HTTP_POST_VARS['interests'] ) ) : '';
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = ( !empty($HTTP_POST_VARS['user_like23']) ) ? trim(strip_tags( $HTTP_POST_VARS['user_like23'] ) ) : '';
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
validate_optional_fields
#
#-----[IN LINE FIND 在這行繼續往下尋找]-------------------------------------------
#
$nickname,
#
#-----[AFTER ADD 之後增加]-------------------------------------------
#
$user_like23,
#
#-----[FIND 尋找上半部]-------------------------------------------
#
$interests = htmlspecialchars(stripslashes($interests));
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = htmlspecialchars(stripslashes($user_like23));
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
user_nickname = '" . str_replace("\'", "''", $nickname) . "',
#
#-----[AFTER ADD 之後增加]-------------------------------------------
#
user_like23 = '" . str_replace("\'", "''", $user_like23) . "' ,
#
#-----[FIND 尋找下半部]-------------------------------------------
#
$interests = htmlspecialchars(stripslashes($interests));
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = htmlspecialchars(stripslashes($user_like23));
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
$interests = htmlspecialchars($this_userdata['user_interests']);
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = htmlspecialchars(stripslashes($this_userdata['user_like23']));
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
$s_hidden_fields .= '<input type="hidden" name="interests" value="' . str_replace("\"", """, $interests) . '" />';
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$s_hidden_fields .= '<input type="hidden" name="user_like23" value="' . str_replace("\"", """, $user_like23) . '" />';
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
'INTERESTS' => $interests,
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'USER_LIKE23' => $user_like23,
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
'L_INTERESTS' => $lang['Interests'],
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'L_USER_LIKE23' => $lang['User_like23'],
// End add - Add Settv User Field
#
#-----[OPEN 打開]-------------------------------------------
#
includes/usercp_avatar.php
#
#-----[FIND 尋找]-------------------------------------------
#
function display_avatar_gallery
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
&$interests,
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
&$user_like23,
#
#-----[FIND 尋找]-------------------------------------------
#
$params =array(
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
'interests'
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
'user_like23',
#
#-----[OPEN 打開]-------------------------------------------
#
includes/usercp_register.php
#
#-----[FIND 尋找]-------------------------------------------
#
$strip_var_list = array(
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
'interests' => 'interests'
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
'user_like23' => 'user_like23'
#
#-----[FIND 尋找]-------------------------------------------
#
validate_optional_fields
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
$interests,
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
$user_like23,
#
#-----[ FIND 尋找,找到2個,這是第1個 ]-------------------------------------------
#
$interests = stripslashes($interests);
$signature = stripslashes($signature);
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = stripslashes($user_like23);
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
SET " . $username_sql .
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
user_sig = '" . str_replace("\'", "''", $signature) . "',
#
#-----[AFTER, ADD 在後面加入]-------------------------------------------
#
user_like23 = '" . str_replace("\'", "''", $user_like23) . "',
#
#-----[FIND 尋找]-------------------------------------------
#
$sql = "INSERT INTO " . USERS_TABLE
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
user_dateformat, user_lang,
#
#-----[AFTER, ADD 在後面加入]-------------------------------------------
#
user_like23,
#
#-----[FIND 尋找]-------------------------------------------
#
VALUES ($user_id, '" . str_replace("\'", "''", $username)
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
, '" . str_replace("\'", "''", $user_lang)
#
#-----[AFTER, ADD 在後面加入]-------------------------------------------
#
. "', '" . str_replace("\'", "''", $user_like23)
#
#-----[FIND 尋找]-------------------------------------------
#
'INTERESTS' => $interests,
\n'SITENAME' => $board_config['sitename']));
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'USER_LIKE23' => $user_like23,
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
$interests = stripslashes($interests);
$signature = stripslashes($signature);
$signature = ($signature_bbcode_uid != '') ? preg_replace("/:(([a-z0-9]+:)?)$signature_bbcode_uid(=|\])/si", '\\\3', $signature) : $signature;
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = stripslashes($user_like23);
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
$interests = $userdata['user_interests'];
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$user_like23 = $userdata['user_like23'];
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
display_avatar_gallery(
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
$interests,
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
$user_like23,
#
#-----[FIND 尋找]-------------------------------------------
#
'INTERESTS' => $interests,
'SITENAME' => $board_config['sitename']));
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'USER_LIKE23' => $user_like23,
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
'L_INTERESTS' => $lang['Interests'],
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'L_USER_LIKE23' => $lang['User_like23'],
// End add - Add Settv User Field
#
#-----[FIND 尋找]-------------------------------------------
#
// Start add - Change User Nick Name
if ( $userdata['user_allownickname'] || $mode == 'register' )
{
$template->assign_block_vars('switch_nicknamenature_block', array() );
}
// End add - Change User Nick Name
#
#-----[afterE, ADD 在後面加入]-------------------------------------------
#
// Start add - Add Settv User Field
if ( $userdata['user_like23'] || $mode == 'register' )
{
$template->assign_block_vars('switch_userlike23_block', array() );
}
// End add - Add Settv User Field
#
#-----[OPEN 打開]-------------------------------------------
#
includes/usercp_viewprofile.php
#
#-----[FIND 尋找]-------------------------------------------
#
$poster_rank = '';
$rank_image = '';
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
此段小弟搞不清楚,所以並沒有加入,原nickname的Code 如下 :
// Start add - Change User Nick Name
$poster_nickname = ( $profiledata['user_nickname'] && $profiledata['user_allownickname'] ) ? '(' . $profiledata['user_nickname'] . ')' : '';
// End add - Change User Nick Name
#
#-----[FIND 尋找]-------------------------------------------
#
'INTERESTS' => ( $profiledata['user_interests'] ) ? $profiledata['user_interests'] : ' ',
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
'USER_LIKE23' => $profiledata['user_like23'],
// End add - Add Settv User Field
#
#-----[OPEN 打開]-------------------------------------------
#
language/lang_chinese_traditational_taiwan/lang_main.php
#
#-----[FIND 尋找]-------------------------------------------
#
// That's all Folks!
#
#-----[BEFORE, ADD 在前面加入]-------------------------------------------
#
// Start add - Add Settv User Field
$lang['User_Like23'] = "其他纇";
// End add - Add Settv User Field
#
#-----[OPEN 打開]-------------------------------------------
#
viewtopic.php
#
#-----[FIND 尋找]-------------------------------------------
#
//
// Go ahead and pull all data for this topic
//
$sql = "SELECT u.username,
#
#-----[IN LINE FIND 繼續在這一行尋找]-------------------------------------------
#
u.user_from
#
#-----[AFTER, ADD 在之後加入]-------------------------------------------
#
\r
u.user_like23
#
#-----[OPEN 打開]-------------------------------------------
#
templates/..../admin/user_edit_body.tpl
#
#-----[FIND 尋找]-------------------------------------------
#
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2">
<input class="post" type="text" name="username" size="35" maxlength="40" value="{USERNAME}" />
</td>
</tr>
#
#-----[AFTER, ADD 在之後加入]-------------------------------------------
#
<tr>
<td class="row1" width="38%"><span class="gen">{L_USER_LIKE23}: *</span></td>
<td class="row2">
<input class="post" type="text" name="user_like23" size="35" maxlength="40" value="{USER_LIKE23}" />
</td>
</tr>
#
#-----[OPEN 打開]-------------------------------------------
#
templates/..../profile_add_body.tpl
#
#-----[FIND 尋找]-------------------------------------------
#
<!-- BEGIN switch_namechange_allowed -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="maxlength="{NICKNAME_MAXLENGTH}"" value="{USERNAME}" /></td>
</tr>
<!-- END switch_namechange_allowed -->
#
#-----[AFTER, ADD 在之後加入]-------------------------------------------
#
<!-- BEGIN switch_userlike23_block -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USER_LIKE23}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="user_like23" size="25" maxlength="maxlength="{NICKNAME_MAXLENGTH}"" value="{USER_LIKE23}" /></td>
</tr>
<!-- END switch_userlike23_block -->
#
#-----[SAVE/CLOSE ALL FILES 儲存並關閉所有檔案]---------------------------
#
------------------------------------------------------------------------------------
●架設主機作業系統:FreeBSD
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB (2.0.11)
[問題]模仿暱稱MOD而自行新增一個欄位,但失敗.
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
[問題]模仿暱稱MOD而自行新增一個欄位,但失敗.
最後由 Flashdes 於 2004-12-06 16:47 編輯,總共編輯了 2 次。
問題又出現一個,之前是在註冊以及檢視頁面無法出現該欄位,現在則發現進入註冊頁面時..出現此錯誤訊息!!
Parse error: parse error in E:\Project\set-forum\includes\template.php(127) : eval()'d code on line 357
這是我改了profile_add_body.tpl 裡面的註解
<!-- BEGIN switch_userlike23_block -->
和
<!-- END switch_userlike23_block -->
以跟usercp_register.php 的
$template->assign_block_vars('switch_userlike23_block', array() ); 相同
之後所發生的錯誤訊息!
Parse error: parse error in E:\Project\set-forum\includes\template.php(127) : eval()'d code on line 357
這是我改了profile_add_body.tpl 裡面的註解
<!-- BEGIN switch_userlike23_block -->
和
<!-- END switch_userlike23_block -->
以跟usercp_register.php 的
$template->assign_block_vars('switch_userlike23_block', array() ); 相同
之後所發生的錯誤訊息!
最後由 Flashdes 於 2004-12-06 17:02 編輯,總共編輯了 3 次。
-
.::藍色的天空::.
- 竹貓忠實會員

- 文章: 587
- 註冊時間: 2003-09-14 17:29
- 來自: 我不知道
- 聯繫:
$template->assign_block_vars('switch_userlike23_block', array() );
改為\r
$template->assign_block_vars('switch_userlike23_block');
改為\r
$template->assign_block_vars('switch_userlike23_block');
i-Web System 隨坊出來耶
新聞:
遊戲區開幕啦! 打造隨城最強的遊戲王國!
宣傳車出動! 賣力宣傳隨坊吧!
版主召募!版主魂激發!
中文好好學,不要方言通天飛
i-Web System 正式版上架測試!
新聞:
遊戲區開幕啦! 打造隨城最強的遊戲王國!
宣傳車出動! 賣力宣傳隨坊吧!
版主召募!版主魂激發!
中文好好學,不要方言通天飛
i-Web System 正式版上架測試!
哇哇~
還是一樣的錯誤訊息!!?
我在這個地方完整的Code 為 :
// Start add - Add Set User Field
if ( $userdata['user_like23'] || $mode == 'register' )
{
$template->assign_block_vars('switch_userlike23_block');
}
// End add - Add Set User Field
是否有錯誤呢??
小弟想說會不會是這個判斷出了問題??
if ( $userdata['user_like23'] || $mode == 'register' )
麻煩在幫小弟看看好嗎??
還是一樣的錯誤訊息!!?
我在這個地方完整的Code 為 :
// Start add - Add Set User Field
if ( $userdata['user_like23'] || $mode == 'register' )
{
$template->assign_block_vars('switch_userlike23_block');
}
// End add - Add Set User Field
是否有錯誤呢??
小弟想說會不會是這個判斷出了問題??
if ( $userdata['user_like23'] || $mode == 'register' )
麻煩在幫小弟看看好嗎??
小弟發現問題出在 profile_add_body.tpl 這裡ㄟ
小弟列出來新增欄位 user_like23 的Code ,有經驗的大大幫小弟看看問題出在那兒??
<!-- BEGIN switch_userlike23_block -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USER_LIKE23}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="user_like23" size="25" value="{USER_LIKE23}" /></td>
</tr>
<!-- END switch_userlike23_block-->
我是放在 nickname 下方的...列出來參考:
<!-- BEGIN switch_nicknamenature_block -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_NICKNAME}: </span><br /><span class="gensmall">{L_CUSTOM_NICKNAME_EXPLAIN}</td>
<td class="row2"><input type="text" class="post"style="width: 200px" name="nickname" size="25" maxlength="25" value="{NICKNAME}" /></td>
</tr>
<!-- END switch_nicknamenature_block -->
只要把最前面的那一段拿掉註冊頁面就OK, 不然就會註冊頁以及檢視個人資料頁都出現錯誤訊息!!
小弟列出來新增欄位 user_like23 的Code ,有經驗的大大幫小弟看看問題出在那兒??
<!-- BEGIN switch_userlike23_block -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_USER_LIKE23}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="user_like23" size="25" value="{USER_LIKE23}" /></td>
</tr>
<!-- END switch_userlike23_block-->
我是放在 nickname 下方的...列出來參考:
<!-- BEGIN switch_nicknamenature_block -->
<tr>
<td class="row1" width="38%"><span class="gen">{L_NICKNAME}: </span><br /><span class="gensmall">{L_CUSTOM_NICKNAME_EXPLAIN}</td>
<td class="row2"><input type="text" class="post"style="width: 200px" name="nickname" size="25" maxlength="25" value="{NICKNAME}" /></td>
</tr>
<!-- END switch_nicknamenature_block -->
只要把最前面的那一段拿掉註冊頁面就OK, 不然就會註冊頁以及檢視個人資料頁都出現錯誤訊息!!
最後把
<!-- BEGIN switch_userlike23_block -->
和
<!-- END switch_userlike23_block-->
拿掉就可以了...但有一個狀況會出現錯誤訊息 ...
就是再註冊的時候把 user_like23 這個欄位填入資料後(沒問題),登入檢視個人資料時一樣能顯示,但是會出現錯誤訊息,如果你再註冊時沒有把這個欄位填入資料,就不會出現錯誤訊息!!
搞不清楚問題發生在哪支程式??
錯誤訊息如下 :
Warning: Missing argument 2 for assign_block_vars() in E:\Project\set-forum\includes\template.php on line 163
該怎麼解決呢??或者可以讓欄位不在檢視個人資料的時候顯示??
<!-- BEGIN switch_userlike23_block -->
和
<!-- END switch_userlike23_block-->
拿掉就可以了...但有一個狀況會出現錯誤訊息 ...
就是再註冊的時候把 user_like23 這個欄位填入資料後(沒問題),登入檢視個人資料時一樣能顯示,但是會出現錯誤訊息,如果你再註冊時沒有把這個欄位填入資料,就不會出現錯誤訊息!!
搞不清楚問題發生在哪支程式??
錯誤訊息如下 :
Warning: Missing argument 2 for assign_block_vars() in E:\Project\set-forum\includes\template.php on line 163
該怎麼解決呢??或者可以讓欄位不在檢視個人資料的時候顯示??
-----------------------------------
●架設主機作業系統:FreeBSD
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB (2.0.13)
●安裝的外掛 : Nickname + Birthday + Gender + DIY(自行新增欄位)
●架設主機作業系統:FreeBSD
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB (2.0.13)
●安裝的外掛 : Nickname + Birthday + Gender + DIY(自行新增欄位)
開啟~ templates/你的風格/profile_view_body.tpl
搜尋
把後面的
移除試試看!
搜尋
代碼: 選擇全部
{L_CONTACT} {USERNAME}代碼: 選擇全部
{NICKNAME}非官方外掛問題區公告: [必看]請配合發問格式及明確主題發問(2004 02/16更新)
竹貓星球發問規則:
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
請不要濫用 私人訊息 或是 MSN 問問題...你以為竹貓是架好看的阿
竹貓星球發問規則:
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
請不要濫用 私人訊息 或是 MSN 問問題...你以為竹貓是架好看的阿
感謝感謝~
後來小弟把 usercp_register.php 內的
$template->assign_block_vars('switch_userlike23_block');
拿掉之後就正常了... (但什麼原因還是不了..)
目前這樣就可以完成了一個文字欄位的新增了~
後來小弟把 usercp_register.php 內的
$template->assign_block_vars('switch_userlike23_block');
拿掉之後就正常了... (但什麼原因還是不了..)
目前這樣就可以完成了一個文字欄位的新增了~
-----------------------------------
●架設主機作業系統:FreeBSD
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB (2.0.13)
●安裝的外掛 : Nickname + Birthday + Gender + DIY(自行新增欄位)
●架設主機作業系統:FreeBSD
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql
●您的 phpBB2 版本:phpBB (2.0.13)
●安裝的外掛 : Nickname + Birthday + Gender + DIY(自行新增欄位)
可是nickname mod 我有裝~~
並不會發生你說的問題~~~
也就是\r
補充:能否說說是怎麼樣的問題?
並不會發生你說的問題~~~
也就是\r
此問題... 在我論壇上沒有發生過~~登入檢視個人資料時一樣能顯示,但是會出現錯誤訊息,如果你再註冊時沒有把這個欄位填入資料,就不會出現錯誤訊息!!
補充:能否說說是怎麼樣的問題?
非官方外掛問題區公告: [必看]請配合發問格式及明確主題發問(2004 02/16更新)
竹貓星球發問規則:
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
請不要濫用 私人訊息 或是 MSN 問問題...你以為竹貓是架好看的阿
竹貓星球發問規則:
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
請不要濫用 私人訊息 或是 MSN 問問題...你以為竹貓是架好看的阿
