php - 我如何限制一个人在用户名字段中输入特定的用户名?
问题描述
我想阻止在我的用户名字段中输入某个单词。
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "s", $param_username);
$param_username = trim($_POST["username"]);
if(mysqli_stmt_execute($stmt)){
/* store result */
mysqli_stmt_store_result($stmt);
**if(mysqli_stmt_num_rows($stmt) == 1) {
*$username_err = "This username is already taken.";*
} else{
$username = trim($_POST["username"]);
}**
我想添加另一个条件,我想阻止特定用户名并为其显示回显。
} else{
echo "Oops! Something went wrong. Please try again later.";
}
解决方案
你可以比较一下。
$forbidden_name = "NameYouWantToCheck";
$param_username = trim($_POST["username"]);
if (strtoupper($param_username) !== strtoupper($forbidden_name)) {
// insert user in the darabase
if ($stmt = mysqli_prepare($link, $sql)) {
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "s", $param_username);
if (mysqli_stmt_execute($stmt)) {
// store result
mysqli_stmt_store_result($stmt);
if(mysqli_stmt_num_rows($stmt) == 1) {
$username_err = "This username is already taken.";*
}
else{
$username = $param_username;
}
}
else{
echo "Oops! Something went wrong. Please try again later.";
}
}
}
else {
echo "$forbidden_name is not allowed!";
}
strtoupper 函数在比较之前将两个名称都设为大写。
推荐阅读
- php - 尝试使用 php 检查用户是否存在
- flutter - setState 没有更新 UI
- javascript - 将字符串截断为 1 MB 大小限制
- javascript - 如何比较javascript中的两个时间戳值?
- python - 从两个数据帧中删除具有矛盾信息的行
- azure - 使用 OAuth2 和 Azure AD 时我们如何运行自动化测试
- android - 无法在 Windows 10 中安装 sdkmanager
- tfs - 如何通过 API 获取 TFS wiki 页面附件
- vtk - vtk 网格生成会改变坐标吗?
- python - ValueError:检查输入时出错:预期 input_2 的形状为 (8,),但得到的数组的形状为 (1,)