如何阻止使用相同的信息创建同一个用户?

时间:2017-02-17 04:59:21

标签: javascript php jquery mysql

如何检查用户是否已创建相同的LRN?    当我按两次保存按钮时,会创建两个具有相同信息的用户    我该如何预防?

jQuery('#save_voter').submit(function(e){
e.preventDefault();
var FirstName = jQuery('.FirstName').val();
var LastName = jQuery('.LastName').val();
var Section = jQuery('.Section').val();
var Year = jQuery('.Year').val();
var LRN = jQuery('.LRN').val();
var Password = jQuery('.Password').val();

e.preventDefault();
if (FirstName && LastName && Section && Year && LRN && Password){   
var formData = jQuery(this).serialize();    

jQuery.ajax({
    type: 'POST',
    url:  'save_student.php',
    data: formData,
         success: function(msg){
        showNotification({
message: "Student Successfully Added",
type: "success", 
autoClose: true, 
duration: 5 

});

3 个答案:

答案 0 :(得分:5)

通过在用户名字段上创建唯一约束。在您的情况下,似乎LRN字段是用户名字段。

使其独一无二
ALTER TABLE users ADD UNIQUE INDEX uname on users (LRN);

然后你可以尝试这样的事情告诉最终用户用户名是重复的。

try{
   $res =$connection->query(your user insert);
}catch(Exception $e){
   echo 'Sorry already exists';
}

答案 1 :(得分:1)

您需要执行3个步骤:

  • 手动检查名字和姓氏在PHP文件中是否已存在
  • 在resultset中包含多于0条记录,然后返回false,表示记录已存在。
  • 在JQuery中,如果它变为false,则显示record already exists
  • 的错误消息

此外,正如@kongkang在评论中所说,字段LRN是用户名。

然后你还需要做3个步骤:

  • 将该字段设为数据库表格中的unique
  • 在插入查询(PHP文件)上添加if条件,如果返回false则表示记录已存在
  • 在Jquery中,如果返回值为false,则显示错误消息。

答案 2 :(得分:0)

为您的数据库添加唯一索引以获取唯一字段。我希望LRN适合您。然后

MYSQL:
ALTER TABLE users ADD UNIQUE (LRN)
SQL SERVER: 
ALTER TABLE [users] ADD CONSTRAINT UC_LRN UNIQUE ([LRN]);

当您尝试插入重复的LRN数据库时,Codeigniter会自动出现错误。没有它你必须手动检查。