- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我可以使用以下代码防止多个用户使用相同的用户名注册:
$sqlusercheck = "SELECT (SELECT COUNT(row_username) FROM table_users WHERE row_username = :username LIMIT 1) as checkusername";
$stmt = $database->prepare($sqlusercheck);
$stmt->bindValue(':username', $username);
$stmt->execute();
$row = $stmt->fetch();
if ($row->checkusername > 0) {
$this->error[] = "This username is already taken.";
$success = false;
}
所以,如果数据库中有Abc
,用户就不能取Abc
这个用户名,但无论如何他都可以用ABC
注册>、abc
、abC
等,我想阻止。
作为一个可能的解决方案,我不想strtolower()
用户名。相反,我希望 Abc
用户使用他的密码登录,无论他是否写入登录输入 ABC
、abc
、abC
等
我为什么要这个?
我观察到用户可以在他的计算机上使用用户名 abc
进行注册。但是当他想在他的移动设备上登录时,设备会自动将首字母大写并且用户无法登录。反之亦然。
那么,为什么我不需要 strtolower()?
因为有用户也想显示成abC
,所以故意这样注册的。因此他们的用户名将在他们注册时显示。
最佳答案
在这种情况下,您可以受益于 mysql 的 LOWER()
和 php 的 strtolower()
函数。 (别担心,只有当您检查可用性时。)
$sqlusercheck = "SELECT (SELECT COUNT(row_username) FROM table_users WHERE LOWER(row_username) = :username LIMIT 1) as checkusername";
$stmt = $database->prepare($sqlusercheck);
$stmt->bindValue(':username', strtolower($username);
如果您这样更改查询,它将使两个值都变为小写并比较它们是否相同。
如果是,则会出现您的错误。
如果不是,它将按照用户输入的方式添加到您的数据库中。
注意:对于您描述的登录,您应该对登录查询进行相同的更改。
关于php - 如何防止在 PHP 中使用相同的(大写/小写不敏感)用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845063/
我这里有一些(遗留)代码,似乎在LD_LIBRARY_PATH上调用setenv(其值在编译时未知,实际上它将从命令中获取)行),现在我必须将其移植到 Windows。我怀疑 setenv 只是出于历
我在 SSIS 包上有一个敏感字符串参数,用于存储远程服务器的密码。 但是,当字符串值包含花括号时,作业代理会在配置该步骤的包参数时抛出错误: Microsoft SQL Server Managem
我们都非常了解 strictfp 的工作原理。 像这样: package com.hk.basicjava.tests.strictfp; import java.util.*; public cla
我正在对我的博客进行简单搜索。我使用亚美尼亚语,当我搜索时,这些字母总是很敏感。这是我的代码的一部分。提前谢谢你。 search_query = get.get('search') query_lis
我正在对我的博客进行简单搜索。我使用亚美尼亚语,当我搜索时,这些字母总是很敏感。这是我的代码的一部分。提前谢谢你。 search_query = get.get('search') query_lis
想象一下这个非常基本的可拖放设置: #dropArea 是可放置的。 #itemBox > .item 是可拖动对象。 由于某种原因,droppable
我有这样的网址: http://quickstart.local/public/category1/product2 并且在 url (category1/product2) 数字是 id ,从数据库
我是一名优秀的程序员,十分优秀!