首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >代码点火器中的验证电子邮件表单

代码点火器中的验证电子邮件表单
EN

Stack Overflow用户
提问于 2016-01-06 15:16:09
回答 1查看 64关注 0票数 1

我有一个编辑模型,包含两个表单,名字和电子邮件,我把一些javascript放在我的表单中,所以当用户编辑他们的名字/电子邮件时,程序将检查数据库中的名称/电子邮件是否已经存在,如果已经在数据库中,就会有显示名称/电子邮件已经存在的警报。

问题是,对于名称形式,代码是完美的工作,但当我尝试它的电子邮件形式,它只读取一个如果声明,即会说错误电子邮件已经存在,即使电子邮件不存在于数据库。

一个重要的事情是,codeigniter中的URL不能读取像@这样的符号,所以不能使用相同的名称验证代码来验证电子邮件,所以我创建了一个新函数,我的所有相关代码如下:

模型

代码语言:javascript
运行
复制
function email_exists($email)
{
    $this->db->where('email', $email);
    $query = $this->db->get('petugas');
    if( $query->num_rows() > 0 ){ return TRUE; } else { return FALSE; }
}

控制器

代码语言:javascript
运行
复制
public function register_email_exists()
{
    if (array_key_exists('email',$_POST)) {
        $email=$this->input->post('email');
        if ($this->Crud->email_exists($email) == TRUE ) {
            echo false;
        } else {
            echo true;
        }
    }
}

Javascript

代码语言:javascript
运行
复制
var check5; 
$("#editemail").bind("keyup change", function(){
    var editemail = $(this).val();
    $.ajax({
        url:'kasir/cekEmailEdit2',
        type:"POST",
        data:{send:true, email:email},
        success:function(data){ alert(email);
            if (editemail!=oldEmail){
                if(data==true){
                    //email not exist in database, so form can be edit
                    $("#report5").text("berhasil karna nama email baru");
                    check5=1; 
                }else{
                    //email exist in database, show alert
                    $("#report5").text("*email sudah terpakai"); 
                    check5=0; 
                }
            }else{
                //success submit form because no data has been changed
                $("#report5").text("berhasil karna gajadi ganti email");
                check5=1; 
            }
        }
    });
});
EN

回答 1

Stack Overflow用户

发布于 2016-01-06 15:27:07

试试这个:

代码语言:javascript
运行
复制
function email_exists($email)
{
    return $this->db->where('email', $email)->count_all_results('petugas');
}

public function register_email_exists()
{
    $result = array(
        'status' => 1 // denotes exists
    );

    if($this->input->post('email') != ''){
        $email = $this->input->post('email');
        if($this->Crud->email_exists($email)){
            $result['status'] = 1;
        }else{
            $result['status'] = 0;
        }
    }

    echo header('Content-Type: application/json');
    echo json_encode($result);
}

联合材料部分:

代码语言:javascript
运行
复制
success:function(data){ 
    data = JSON.parse(data);
    if(data.status){
        alert('Exists');
    }else{
        alert('Not exists');
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34636529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档