DanGien
Новичок
Проблема - прога не отождествляет "логин" и "Логин" в базе на русском...
Юзеры регистрируются, зачастую в качестве логина вводя запись русскими буквами, да еще и в разном регистре.
В результате частенько получается так, что в базе при входе в аккаунт выводятся данные нескольких юзеров.
Как я обрабатываю переданный логин.
$login = trim ($login);
$login = strtolower ($login); //убираем заглавные буквы
// убираем двойные пробелы
while (stristr($login," ")) $login=str_replace (" ","",$login);
// удаляем все лишнее (знаки препинания, и прочее)
$login = eregi_replace ('[.?,!()#":;|]', '', $login);
$login = trim ($login); //еще раз убираем пробелы по концам
$query = "SELECT * FROM user WHERE login=binary('$login')";
$result = mysql_query ($query);
Так вот, при этом запросе если в базе есть уже "саша", а юзер ввел "Саша", в базу спокойненько записывается логин "Саша".
А при заходе юзер "саша" видит и свои данные, и данные от "Саша". Как с этим бороться?
Юзеры регистрируются, зачастую в качестве логина вводя запись русскими буквами, да еще и в разном регистре.
В результате частенько получается так, что в базе при входе в аккаунт выводятся данные нескольких юзеров.
Как я обрабатываю переданный логин.
$login = trim ($login);
$login = strtolower ($login); //убираем заглавные буквы
// убираем двойные пробелы
while (stristr($login," ")) $login=str_replace (" ","",$login);
// удаляем все лишнее (знаки препинания, и прочее)
$login = eregi_replace ('[.?,!()#":;|]', '', $login);
$login = trim ($login); //еще раз убираем пробелы по концам
$query = "SELECT * FROM user WHERE login=binary('$login')";
$result = mysql_query ($query);
Так вот, при этом запросе если в базе есть уже "саша", а юзер ввел "Саша", в базу спокойненько записывается логин "Саша".
А при заходе юзер "саша" видит и свои данные, и данные от "Саша". Как с этим бороться?