[問題] 性別外掛中的舊問題, 但非常疑惑.

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

版主: 版主管理群

頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

[問題] 性別外掛中的舊問題, 但非常疑惑.

文章 kkt »

問題外掛: Gender 性別 1.2.6em
下載位置: http://www.phpbbhacks.com/download/182

==================================

各師長大大:

請先容我敍述一下, 我遇到的是一個很多人提問過的, 但絕不一樣.

問題是: 會員在個人資料內損性別時.

有的成功, 有的失敗. 而男生多數成功, 女生多數失敗. (不是男生較多的關系)

但: 又不是全部失敗


後台設定則正常

基本組態設定是推翻會員設定樣式. (但這應無關)

排除瀏覽器引致. 有會員在 firefox 下一樣正常.
==================================

這一下才令我非常困惑.

因為: 假如外掛中語法有誤, 應該是全部都不能選取才對.

但現在這種情況, 可真有點辣手.

==================================

而我曾採取的方法:

當然是把外掛修改仔細覆核二遍. 雖然這外掛語法是比較複雜. 但總算是沒犯以下錯誤的.

http://phpbb-tw.net/phpbb/viewtopic.php ... 6%E6%8E%9B


http://phpbb-tw.net/phpbb/viewtopic.php?p=189170#189170


http://phpbb-tw.net/phpbb/viewtopic.php ... 6%E6%8E%9B


http://phpbb-tw.net/phpbb/viewtopic.php ... 6%E6%8E%9B


=================================

暫未提供那一部份修改檔, 因為好像不是語法問題. 不知道是那裡問題.

提供測試賬號:

http://www.kktfriend.com/phpBB2/

登入: 12345
密碼: 12345

=================================

希望有大大可查找出問題原因. 先此謝過!!



.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

剛剛測試 12345 結果: 無法變更性別.

我猜想:
問題還是出在 '資料庫'.

也許, 有些會員使用的 '資料表' 不同, 而缺少欄位 'user_gender',
以至於無法更新性別.
最後由 心靈捕手 於 2006-05-13 22:42 編輯,總共編輯了 1 次。
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
jwxinst
竹貓忠實會員
竹貓忠實會員
文章: 945
註冊時間: 2006-03-31 10:07
來自: New York, USA     學業狀況: 當天才...       個人狀況: 臭蛋
聯繫:

文章 jwxinst »

我在你那邊的確可以改到
而且個人資料是顯示 「男」

是否SQL有什麼需要改變呢?
ALTER TABLE phpbb_users ADD user_gender TINYINT not null DEFAULT '0';
不過我想phpbb_你是有改到 kktfriend, 不然我也不會改到....
試試把他UPDATE



另外...
可以裝強制填寫性別欄位的
-----
編輯 :mrgreen: @@原來心靈老師已經回了
XDDDD我還在爬文= ="
原作者的網都不能連上....真是氣人@@

但是我自己有一個問題
如果我自己jwxie可以改變
但是明明已經輸入...
應該是在更新資料的時候, 某些會員的柵位失去了那一筆嗎?
目前狀態圖檔
GoKo Music進度: 10%

問個問題不要緊可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

多謝老師代測試, 現在就是奇怪及迷惘得很,

上文我已清楚指出, 不是全部會員對這功能失效.

確是男生大部份可以, 女生大部份不可以.

但又不是全部失效.. :-o

很邪門啊!! 天!!
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
jwxinst
竹貓忠實會員
竹貓忠實會員
文章: 945
註冊時間: 2006-03-31 10:07
來自: New York, USA     學業狀況: 當天才...       個人狀況: 臭蛋
聯繫:

文章 jwxinst »

心靈捕手 寫:剛剛測試 12345 結果: 無法變更性別.

我猜想:
問題還是出在 '資料庫'.

也許, 有些會員使用的 '資料表' 不同, 而缺少欄位 'user_gender',
以至於無法更新性別.
我倒是有個想法...
之前阿k你不是說你的DB內有兩個table_prefix嗎?

一個是 kktfriend, 一個是 phpbb_
是不是兩個都有共用到會員?
或者其中有的在phpbb_裡?

看看如果再新增一次mysql→ table指定是 phpbb_, 而不是kktfriend, 這樣子不曉得怎麼樣?

↑以上只是個人的笨意見 :mrgreen:
目前狀態圖檔
GoKo Music進度: 10%

問個問題不要緊可是沒有發文格式、問題不夠詳細情況,難道要用猜嗎?
新手必讀
[教學] 基本認識、學習、隨我架設phpBB的新手通 -更新至2.0.22
問問題的技巧
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=44340
MOD安裝教學及轉碼
http://www.phpbb-tw.net/phpbb/viewtopic.php?t=22832
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

jwxinst, 剛剛抱著試試心態試了一下, 不行. 也不可能.

因為之前大部份男生都可選性別.

而我較早前再執行了一次 SQL 重新滙入.

現在竟然全部會員都選不了啦, 要在後台設定.
外掛部份都檢查多遍了. 還打算裝上虛擬形象, 現在這樣子卡著, 真拿他沒辦法.

外掛中最有可能出錯是這段, 但如出錯又不明白先前大部份都可選性別,(你也試了的吧)

代碼: 選擇全部

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


# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "UPDATE " . USERS_TABLE . "
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
$avatar_sql . "

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_gender = '$gender'

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "INSERT INTO " . USERS_TABLE . "
VALUES

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, user_style

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_gender

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, $user_style

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, '$gender'
修改後:

代碼: 選擇全部

			$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_notify_pm = $notifypm, user_popup_pm = $popup_pm, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_active = $user_active, user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . ", user_gender = '$gender'
				WHERE user_id = $user_id";

代碼: 選擇全部

$sql = "INSERT INTO " . USERS_TABLE . "	(user_id, username, user_regdate, user_password, user_email, user_regip, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_gender, user_level, user_allow_pm, user_active, user_actkey)
				VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", "''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . $userdata['session_ip']. "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $avatar_sql, $viewemail, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popup_pm, $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "', '" . str_replace("\'", "''", $user_lang) . "', $user_style, '$gender', 0, 1, ";

幫忙看看有沒有錯呢 ? 我看不出來啦..
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

建議你先做個除錯
#
#--------[ OPEN ]----------------
#
includes/usercp_register.php

#
#--------[ FIND ]----------------
#

代碼: 選擇全部

			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql);
			}
#
#--------[ BEFORE, ADD ]----------------
#

代碼: 選擇全部

die($sql);
#
#--------[ SAVE/CLOSE FILE ]----------------
#
# EoM

然後試著修改個人資料, 並把畫面上所顯示的sql貼上來
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

多謝倉大, sql 顯示如下:

UPDATE kktfriend_users SET user_email = 'kkt8899sp@yahoo.com.hk', user_icq = '', user_website = 'http://www.bigman-ceiling.com', user_occ = '與龍共接', user_from = '我踏浪而來', user_interests = '看著你', user_sig = '請大家有任何關於論壇的問題, 如非有私隱或影響到其他會員私隱, 請在版面提出. 公開討論問題, 更能集思廣益. 提高效率. 私人訊息祇為私人事件而設. 管理層的會議或機密討論, 請用會議室. ps. 我的私訊太多, 單是看私訊已佔去我不小時間. 我在此順道跟大家說一下, 無關私訊, 一概不回了. 謝謝!!![/size:52afc0e4ec]', user_sig_bbcode_uid = '52afc0e4ec', user_viewemail = 1, user_aim = '', user_yim = 'kk8899sp@yahoo.com', user_msnm = 'kk8899hk@hotmail.com', user_attachsig = 1, user_allowsmile = 1, user_allowhtml = 1, user_allowbbcode = 1, user_allow_viewonline = 1, user_notify = 0, user_notify_pm = 0, user_popup_pm = 1, user_timezone = 8, user_dateformat = 'Y M d, D g:i a', user_lang = 'chinese_traditional_taiwan', user_style = 1, user_active = 1, user_actkey = '', user_gender = '' WHERE user_id = 40
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

代碼: 選擇全部

user_gender = '' 
值沒有抓到
你應該要再檢查一下usercp_register.php是不是有漏了什麼地方沒改到
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

回倉大:

我自知是新手, 所以我現在進外掛修改時, 都提起精神. 一步一字放前放後皆看清楚. 自知不容有錯. 而我一般事前都會在此先行參考, 及吸取了其他人的失敗經驗.

我沒把檔案打包上來, 是因這外掛雖有點混亂, 但除了上述的一段, 其餘的都較為公式化. 同時也明白有些檔案未必造成此影響.

要修改的 11 個文件中

## viewtopic.php
## admin/admin_users.php
## includes/usercp_avatar.php
## includes/usercp_register.php
## includes/usercp_viewprofile.php
## language/lang_english/lang_main.php
## templates/SubSilver/profile_add_body.tpl
## templates/SubSilver/profile_view_body.tpl
## templates/subSliver/subSilver.cfg
## templates/subSliver/viewtopic_body.tpl
## templates/subSilver/admin/user_edit_body.tpl

最易出錯的是紅字兩個, 而 viewtopic.php 部份我早已先行K 足功課, 所以暫沒錯誤.

======================

倒是我剛把舊版的性別外掛 Mod Version: 1.2.3 跟1.2.8em 比較了一下 usercp_register.php 部份, 見有一段位置不同之處.

我便按舊版一試, 結果是 [男] [女] 性別皆可選, 現衹有 [不公開] 還沒反應.

=====================

以下是兩個版本內的一段不同之處:

Mod Version: 1.2.3

代碼: 選擇全部

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

# 
#-----[ FIND ]------------------------------------------ 
# 
$signature = str_replace('<br />', " 
", $signature); 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0; 

Mod Version: 1.2.8em

代碼: 選擇全部

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$signature_bbcode_uid = '';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0;
// End add - Gender MOD
兩版不同之處, 祇在於放的位置不一樣, 看來本是獨立的呼叫. 但卻對我有反應了.


註: 但之前第一次裝好外掛, 確實男生可用性別, 祇有小部份女生反映不能修改.

謝謝倉大!! 我再看看那個 [不公開] 是怎麼回事!!
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

To kkt:

建議您:
將下列 (修改後) 檔案壓縮, 貼出下載連結.
includes/usercp_register.php
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

老師, 除了語系檔, tpl 檔, 我把 php 的檔都打包了. 有勞老師.

共 42.5 KB

http://www.kktfriend.com/phpBB2/download/Gender.rar




.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

kkt 寫:老師, 除了語系檔, tpl 檔, 我把 php 的檔都打包了. 有勞老師.

共 42.5 KB

http://www.kktfriend.com/phpBB2/download/Gender.rar




.
發現一個錯誤, 建議修改.

#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_users.php

#
#-----[ FIND ]------------------------------------------------
#

代碼: 選擇全部

			$interests = htmlspecialchars(stripslashes($interests));
			// Start add - Gender MOD
            $gender = $this_userdata['user_gender'];
            // End add - Gender MOD
			$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ REPLACE WITH ]------------------------------------------------
#

代碼: 選擇全部

			$interests = htmlspecialchars(stripslashes($interests));
			$signature = htmlspecialchars(stripslashes($signature));
#
#-----[ FIND ]------------------------------------------------
#

代碼: 選擇全部

		$interests = dohtmlspecialchars($this_userdata['user_interests']);
#
#-----[ AFTER, ADD ]------------------------------------------------
#

代碼: 選擇全部

// Start add - Gender MOD
$gender = $this_userdata['user_gender'];
// End add - Gender MOD
#
#-----[ SAVE/CLOSE ]--------------------------------
#
# EoM
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
頭像
kkt
竹貓忠實會員
竹貓忠實會員
文章: 625
註冊時間: 2005-06-15 01:37
來自: H.K.
聯繫:

文章 kkt »

先多謝老師, 這幾天以來, 對著這幾個 php 檔, 我現在不用編輯軟件都差不多知道那些語法位置了.

老師建議的修改, 我之前也試過到處亂石投林, 四處也放一下試試.
包括其他 php 檔有可能的地方也是.




我現已跟老師的指導修改測試了, 仍是祇有 [不公開] 一項沒反應.

==================================

有一個值得留意及我多次重申的重點就是:

第一次完成後, 衹有大約 20% 的會員對選項沒有反應. (我當時還以為是會員使用上有誤. 後經自己測試才知道確有其事.)

如果語法上有誤, 是會有這種可能性的嗎 ? 看來我遇到的問題都很特別.



.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
頭像
心靈捕手
默默耕耘的老師
默默耕耘的老師
文章: 8547
註冊時間: 2004-04-30 01:54
來自: Taiwan

文章 心靈捕手 »

kkt 寫: 我現已跟老師的指導修改測試了, 仍是祇有 [不公開] 一項沒反應.
.
何謂 '[不公開] 一項沒反應'?

以個人使用經驗:
預設 'user_gender = 0', 也就是 '不公開'

若使用者修改為 1 (男), 或者 2 (女) 以後,
則無法再修改回預設值 0 (不公開).


如果您是指這個現象, 那麼建議您忽略它.
施比受有福,祝福您好運! ^_^
歡迎光臨★★心靈捕手★★ :: 討論區
https://wang5555.dnsfor.me/phpBB3/
主題已鎖定

回到「外掛問題討論」