After tracing some old (UBBT6) and new (UBBT7) code , I found some difference...

In UBBT6 , authentication is through
Quote
$query = "
SELECT U_Username, U_Laston, U_Password,U_Number,U_Language,...
FROM {$config['tbprefix']}Users
WHERE U_LoginName = '$Username_q'

It seems it is direct String comparing ...

But in UBBT7 , it's done by this :
Quote
where t1.USER_LOGIN_NAME = ?
and t1.USER_ID = t2.USER_ID
and t1.USER_ID = t3.USER_ID

$sth = $dbh -> do_placeholder_query($query,array($Username),__LINE__,__FILE__);

It seems the $Username is processed by array() , is this the problem that cause mose users (with special chars in LoginName) cannot login ? How to solve it ?


English is not my native language. I try my best to express my thought precisely. I hope you understand what I mean. If any misunderstanding results from culture gaps, I apologize first.