我有登录/注册系统在我的网站上,但我不知道如何匹配用户名。
如果我有一个名为"Vlajko“的用户,并且只有当他输入名称"Vlajko”而不能输入"vlajko“或任何其他组合时,他才能登录,那么我如何防止注册一个名为"vlajKO”的新用户,因为它与数据库中的记录"Vlajko“不匹配,同时通过我在php中的检查,因为该列是大小写敏感的?
因此,我有用户Vlajko,一个新用户正在开始注册并尝试使用名称vlajKO (或vlajko)注册。PHP通过数据库检查mysqli是否有名为vlajKO的记录,但是它找不到它,因为它不存在,而且Vlajko存在,而且用户能够使用确切的名称登录,因此该列区分大小写,因此系统将允许用户使用该名称注册,我不想这样做。
这有点让人困惑,但我希望你能理解。
发布于 2014-05-12 14:07:03
选择小写,
SELECT COUNT(*) FROM mytable WHERE LOWER(mytable.login) = LOWER('vlajKO');如果它返回!=从0,那么已经有一个人的这个名字,非个案感觉
发布于 2014-05-12 14:06:19
将数据库中的列'name‘(或您曾经使用过的名称)更改为主键,这样就不可能保存两个具有相同值的条目(不是区分大小写的)。
发布于 2014-05-12 14:09:25
在注册过程中检查现有用户名时,使用条件:WHERE lower(username) = lower(?s)修改mysql查询,其中?s注册用户名。
https://stackoverflow.com/questions/23611168
复制相似问题