變更使用者密碼後無法登入feedback_site出現Failed to do syslog
我也遇到~ 要從哪裡修正呢?
Please edit the feedback_site/include/config.php, and set the $GLOBALS['BR_dbdebug'] = true;
So we can check what the problem is.
(mysqlt): SET CHARACTER SET utf8
(mysqlt): select * from sysconf_table
(mysqlt): select * from feedback_config_table
(mysqlt): select * from language_table order by language_desc
(mysqlt): select * from string_table where string_lang='cht'
(mysqlt): delete from customer_user_tmp_table where created_date < '2015-04-03 06:09:04'
(mysqlt): SET AUTOCOMMIT=0
(mysqlt): BEGIN
(mysqlt): select * from customer_user_table where email='User@mguser.com' and password='f96126cdf1e321e9f0c00b1b1d065187' and account_disabled!='t'
(mysqlt): COMMIT
(mysqlt): SET AUTOCOMMIT=1
Smart Commit occurred
(mysqlt): insert into feedback_syslog_table(customer_email, ip, log_type, time, log_string_key, arg_key, arg_string) values( NULL, '220.133.171.188', 2, '2015-04-13 06:09:04', 'syslog_login_failed', '', 'User@mguser.com')
1048: Column 'customer_email' cannot be null
ADOConnection._Execute(insert into feedback_syslog_table(customer_email, ip, log_type, time, log_string_key, arg_key, arg_string) values( NULL, ..., false) % line 1015, file: adodb.inc.php
ADOConnection.Execute(insert into feedback_syslog_table(customer_email, ip, log_type, time, log_string_key, arg_key, arg_string) values( NULL, ...) % line 209, file: error.php
WriteSyslog(warn, syslog_login_failed, , User@mguser.com) % line 145, file: login.php
Failed to do syslog.
You can edit the feedback_site/include/error.php
function WriteSyslog($log_type, $log_string_key, $arg_key = "", $arg_string = "")
{
....略....
$customer_email = $_SESSION[SESSION_PREFIX.'feedback_email']);
if (is_null($customer_email)) {
$customer_email = "";
}
$now = $GLOBALS['connection']->DBTimeStamp(time());
$sql = "insert into ".$GLOBALS['BR_feedback_syslog_table']."(customer_email, ip, log_type,
time, log_string_key, arg_key, arg_string) values(
".$GLOBALS['connection']->QMagic($customer_email).",
".$GLOBALS['connection']->QMagic($_SERVER['REMOTE_ADDR']).", $log_type,
$now, ".$GLOBALS['connection']->QMagic($log_string_key).",
".$GLOBALS['connection']->QMagic($arg_key).",
".$GLOBALS['connection']->QMagic($arg_string).")";
.....結束
就是找到 WriteSyslog() 約 199 行的地方, 加上
$customer_email = $_SESSION[SESSION_PREFIX.'feedback_email']);
if (is_null($customer_email)) {
$customer_email = "";
}
再把下方 $sql 中的 ".$GLOBALS['connection']->QMagic($_SESSION[SESSION_PREFIX.'feedback_email']).",
換成
".$GLOBALS['connection']->QMagic($customer_email).",
$customer_email = $_SESSION[SESSION_PREFIX.'feedback_email']);
if (is_null($customer_email)) {
$customer_email = "";
}
上方留言多一個「)」
$customer_email = $_SESSION[SESSION_PREFIX.'feedback_email'];
if (is_null($customer_email)) {
$customer_email = "";
}
抱歉, 這樣才正確, 去掉「)」