微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当人们注册时防止重复的用户名

如何解决当人们注册时防止重复的用户名

我将向您展示我的 PHP 和 html 代码,这里我的用户数据库注册,但我有一个问题要问您。如何禁止使用相同的名称数据库中的用户名不一样或多个账户的一个用户没有登录同名

<?PHP


$user = new User($_POST);

$title = $user->username = $user->username = '';

$errors = array('username' => '','password' => '');

if(isset($_POST['submit'])){

//check username
if(empty($_POST['username'])){


 $errors['username'] = 'an username is required <br />';

 }else{

 $user->username = $_POST['username'];

 if(!preg_match('/^[a-zA-Z\s]+$/',$user->username)){

    $errors['username'] = 'Name must be letters and spaces only';

  }


  }

  //check password
  if(empty($_POST['password'])){

  $errors['password'] = 'an password is required <br />';

 }else{

  $user->password = $_POST['password'];

  //Password mora imati najmanje 8 karaktera
 if(strlen($user->password) < 8){


 $errors['password'] = "Password must be atelaast 8 characters long <br>";

  if(!preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/',$user->password)){

     $errors['password'] = 'of at least length 8 <br>containing at least one lowercase   letter<br>and at least one uppercase letter<br>and at least one number';

     }
    }

    }

  if(array_filter($errors)){

  //echo 'errors in the form';


  }else{

  //echo 'form is valid';
  header('Location: login.PHP');
  $user->save();
  }

  }
?>
 

解决方法

取决于您使用的数据库。

一种更简单的方法是在表上创建一个唯一的约束,这也将强制执行更新并消除对触发器的需要。就这样做:

MSSQL 示例:

ALTER TABLE [dbo].[TableName]    
ADD CONSTRAINT [UQ_ID_Name_Date] UNIQUE NONCLUSTERED
(
    [Name],[Date]
)

然后你就可以做生意了。 当您在数据库中创建这样的触发器时 - 将无法创建具有相同用户名的用户。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?