[問題] 請幫忙解決 使用封鎖控制 會發生錯誤(以解決)
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
[問題] 請幫忙解決 使用封鎖控制 會發生錯誤(以解決)
●架設主機作業系統:Windows Xp Home
●快速架站程式:Appserv
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql (我是安裝 appserv-win32-2.4.6)
●您的 phpBB2 版本:phpBB 2.0.21
●您的 domain(網域名稱) :http://eros.6cc.tw
●您的 phpBB2 連結網址: http://eros.6cc.tw
●錯誤代碼:
使用封鎖會員 會出現以下錯誤↓
[ code ]
Couldn't insert ban_userid info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_ip' doesn't have a default value
INSERT INTO phpbb_banlist (ban_userid) VALUES (3)
Line : 195
File : admin_user_ban.php
[ /code ]
使用 停用 MAAIL 控制 會出現以下錯誤↓
[ /code ]
Couldn't insert ban_email info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_userid' doesn't have a default value
INSERT INTO phpbb_banlist (ban_email) VALUES ('*@pchome.com.tw')
Line : 265
File : admin_user_ban.php
[ /code ]
我發現到 整個 封鎖控制 都會有問題 .....
●錯誤狀態:如以上敘述情況。 煩請幫看看哪邊出了問題 以研究爬文了兩天..苦惱
附加: 整個 admin_user_ban.php
=====
http://phpbb-tw.net/phpbb/viewtopic.php?p=228591#228591
謝謝合作
●快速架站程式:Appserv
●您的上網方式:ADSL
●您安裝的程式:Apache + php + MySql (我是安裝 appserv-win32-2.4.6)
●您的 phpBB2 版本:phpBB 2.0.21
●您的 domain(網域名稱) :http://eros.6cc.tw
●您的 phpBB2 連結網址: http://eros.6cc.tw
●錯誤代碼:
使用封鎖會員 會出現以下錯誤↓
[ code ]
Couldn't insert ban_userid info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_ip' doesn't have a default value
INSERT INTO phpbb_banlist (ban_userid) VALUES (3)
Line : 195
File : admin_user_ban.php
[ /code ]
使用 停用 MAAIL 控制 會出現以下錯誤↓
[ /code ]
Couldn't insert ban_email info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_userid' doesn't have a default value
INSERT INTO phpbb_banlist (ban_email) VALUES ('*@pchome.com.tw')
Line : 265
File : admin_user_ban.php
[ /code ]
我發現到 整個 封鎖控制 都會有問題 .....
●錯誤狀態:如以上敘述情況。 煩請幫看看哪邊出了問題 以研究爬文了兩天..苦惱
附加: 整個 admin_user_ban.php
=====
http://phpbb-tw.net/phpbb/viewtopic.php?p=228591#228591
謝謝合作
最後由 t54185 於 2006-08-25 09:50 編輯,總共編輯了 1 次。
心靈 大大 我依照你的回覆 試了一次 依然出現
Couldn't insert ban_userid info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_ip' doesn't have a default value
INSERT INTO phpbb_banlist (ban_userid) VALUES (3)
Line : 195
File : admin_user_ban.php
真害...
怎麼會這樣 @@"
ban_id mediumint(8) UNSIGNED 否 auto_increment
ban_userid mediumint(8) 否 0
ban_ip varchar(8) utf8_unicode_ci 否
ban_email varchar(255) utf8_unicode_ci 是 NULL
這是我 SQL 的格式 幫看看
Couldn't insert ban_userid info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_ip' doesn't have a default value
INSERT INTO phpbb_banlist (ban_userid) VALUES (3)
Line : 195
File : admin_user_ban.php
真害...
怎麼會這樣 @@"
ban_id mediumint(8) UNSIGNED 否 auto_increment
ban_userid mediumint(8) 否 0
ban_ip varchar(8) utf8_unicode_ci 否
ban_email varchar(255) utf8_unicode_ci 是 NULL
這是我 SQL 的格式 幫看看
建議您:t54185 寫:心靈 大大 我依照你的回覆 試了一次 依然出現
Couldn't insert ban_userid info into database
DEBUG MODE
SQL Error : 1364 Field 'ban_ip' doesn't have a default value
INSERT INTO phpbb_banlist (ban_userid) VALUES (3)
Line : 195
File : admin_user_ban.php
真害...
怎麼會這樣 @@"
ban_id mediumint(8) UNSIGNED 否 auto_increment
ban_userid mediumint(8) 否 0
ban_ip varchar(8) utf8_unicode_ci 否
ban_email varchar(255) utf8_unicode_ci 是 NULL
這是我 SQL 的格式 幫看看
1. 多新增幾個一般會員測試帳號
2. PM 給我測試論壇 (系統管理員) 的帳號與密碼
3. 底下檔案, 如果您有修改過的話, 那麼將它壓縮後, 貼出下載連結; 否則不用.
admin/admin_user_ban.php
我不太明白問題的癥結在哪裡?t54185 寫:沒修改過您所說的部分
已經 PM 給你 論壇 ADMIN 的帳密
以及 MYSQL 的 帳密
幫忙解決 拜託了 ...
依我試裝 AppServ 2.4.6 的經驗,
由於安裝過程中, 無法選擇資料庫文編碼, 所以安裝後資料庫文字編碼, 預設應該是 utf8_unicode_ci
但是, 您的卻是 cp1252 West European (latin1)

我更改了 ban_ip 的預設值為 0 後, 已經可以正常操作 '封鎖'.

目前, 封鎖了三以資料

1. 會員帳號: a123
2. 會員帳號: c123
3. 電子郵件: goodluck@wang5555.dyndns.org
因為沒有做 set names utf8 的話,寫入資料庫的時候是 latin1(utf8) -> 轉換成utf8 -> 寫入 (這種表示法不知道看不看得懂),這轉碼的問題我已經說過太多次了。心靈捕手 寫:1. 原以為只要論壇語系編碼是 utf-8, 應該就可以正常使用,
不必再變更資料庫的文字編碼.
http://phpbb-tw.net/phpbb/viewtopic.php?p=244388#244388
而您居然說道 '如果用 UTF8 的話 SQL 的中文會變成亂碼'
把資料庫 (server-default-charset) 改回 latin1 的話,寫入的時候就是 latin1(utf8) -> latin1 -> 寫入,因為 latin1() -> latin1 不會做轉換,這種狀況就會變得和過去 4.1.2 的動作一模一樣,所以不會產生亂碼。
過去 (MySQL 4.1.2 之前) 之所以沒有這個問題是因為 MySQL 不會轉碼、不會把 input/output 的東西做過處理,所以就算 MySQL 把所有的東西都當成是 latin1 也沒差,寫 utf8 的資料進去也不會出錯,反而是把 charset 設定為 big5 的時候容易出問題。
感謝您的分享!t54185 寫:心靈大大
我論壇 重新安裝了 回頭看了一下 "BEN LIST" 的預設值 依然會錯誤
必須手動更改預設值為 0 才能進行 封鎖行為......真害...
順道一提 我查了站內很多人 跟我一樣 安裝新的 都是亂碼 站內有解決方案
方法差不多 ^^
-------------------------------------------------------------
因為UTF8 在SQL裡面我發現到 phpbb_config 裡面的基本組態
會發現
site_desc æœ¬è«–å£‡ä¸æ”¯æ´ä¿¡ç®±è¨»å†Šï¼Œå»ºè ...這樣的顯示 = = 。
要看到完整的中文顯示方法如下↓
我是更改 select_lang.lib 的內容 !!
// MySQL charsets map
$mysql_charset_map = array(
'big5' => 'big5',
'cp-866' => 'cp866',
'euc-jp' => 'ujis',
'euc-kr' => 'euckr',
'gb2312' => 'gb2312',
'gbk' => 'gbk',
'iso-8859-1' => 'latin1',
'iso-8859-2' => 'latin2',
'iso-8859-7' => 'greek',
'iso-8859-8' => 'hebrew',
'iso-8859-8-i' => 'hebrew',
'iso-8859-9' => 'latin5',
'iso-8859-13' => 'latin7',
'iso-8859-15' => 'latin1',
'koi8-r' => 'koi8r',
'shift_jis' => 'sjis',
'tis-620' => 'tis620',
'utf-8' => 'latin1', =>原本UFT8 改為 LATIN1
'windows-1250' => 'cp1250',
'windows-1251' => 'cp1251',
'windows-1252' => 'latin1',
'windows-1256' => 'cp1256',
'windows-1257' => 'cp1257',
這樣SQL裡面的中文 就可以顯示 然而論壇依然正常 QQ
待會, 我再試著升級 AppServ 2.4.6 看看.
ps.
相關 (變更資料庫文字編碼) 文章, 將分割至 'phpMyAdmin' 版面.
chiouss大大 我的做法 這樣可以嗎 ? 會傷 資料庫 資料嗎 ?chiouss 寫:因為沒有做 set names utf8 的話,寫入資料庫的時候是 latin1(utf8) -> 轉換成utf8 -> 寫入 (這種表示法不知道看不看得懂),這轉碼的問題我已經說過太多次了。心靈捕手 寫:1. 原以為只要論壇語系編碼是 utf-8, 應該就可以正常使用,
不必再變更資料庫的文字編碼.
http://phpbb-tw.net/phpbb/viewtopic.php?p=244388#244388
而您居然說道 '如果用 UTF8 的話 SQL 的中文會變成亂碼'
把資料庫 (server-default-charset) 改回 latin1 的話,寫入的時候就是 latin1(utf8) -> latin1 -> 寫入,因為 latin1() -> latin1 不會做轉換,這種狀況就會變得和過去 4.1.2 的動作一模一樣,所以不會產生亂碼。
過去 (MySQL 4.1.2 之前) 之所以沒有這個問題是因為 MySQL 不會轉碼、不會把 input/output 的東西做過處理,所以就算 MySQL 把所有的東西都當成是 latin1 也沒差,寫 utf8 的資料進去也不會出錯,反而是把 charset 設定為 big5 的時候容易出問題。
因為看了你的修改 覺得...有點複雜
不過還是多學了一招
最後由 t54185 於 2006-08-25 02:13 編輯,總共編輯了 1 次。
我重弄完畢 目前 封鎖行為 正常 EMAIL 中文標題 無亂碼 正常 重灌時間..2分鐘QQ心靈捕手 寫:感謝您的分享!t54185 寫:心靈大大
我論壇 重新安裝了 回頭看了一下 "BEN LIST" 的預設值 依然會錯誤
必須手動更改預設值為 0 才能進行 封鎖行為......真害...
順道一提 我查了站內很多人 跟我一樣 安裝新的 都是亂碼 站內有解決方案
方法差不多 ^^
-------------------------------------------------------------
因為UTF8 在SQL裡面我發現到 phpbb_config 裡面的基本組態
會發現
site_desc æœ¬è«–å£‡ä¸æ”¯æ´ä¿¡ç®±è¨»å†Šï¼Œå»ºè ...這樣的顯示 = = 。
要看到完整的中文顯示方法如下↓
我是更改 select_lang.lib 的內容 !!
// MySQL charsets map
$mysql_charset_map = array(
'big5' => 'big5',
'cp-866' => 'cp866',
'euc-jp' => 'ujis',
'euc-kr' => 'euckr',
'gb2312' => 'gb2312',
'gbk' => 'gbk',
'iso-8859-1' => 'latin1',
'iso-8859-2' => 'latin2',
'iso-8859-7' => 'greek',
'iso-8859-8' => 'hebrew',
'iso-8859-8-i' => 'hebrew',
'iso-8859-9' => 'latin5',
'iso-8859-13' => 'latin7',
'iso-8859-15' => 'latin1',
'koi8-r' => 'koi8r',
'shift_jis' => 'sjis',
'tis-620' => 'tis620',
'utf-8' => 'latin1', =>原本UFT8 改為 LATIN1
'windows-1250' => 'cp1250',
'windows-1251' => 'cp1251',
'windows-1252' => 'latin1',
'windows-1256' => 'cp1256',
'windows-1257' => 'cp1257',
這樣SQL裡面的中文 就可以顯示 然而論壇依然正常 QQ![]()
待會, 我再試著升級 AppServ 2.4.6 看看.
ps.
相關 (變更資料庫文字編碼) 文章, 將分割至 'phpMyAdmin' 版面.



