首页 > 解决方案 > 如何使用此回调函数给出“电子邮件不存在”?

问题描述

我已经尝试过“已经存在”,但我需要使用相同功能的“不存在”而不是“已经存在”的帮助。

登录.php

public function email_exist($id) {
    $this->db->where('email', $id);
    $query = $this->db->get('login');
    if ($query->num_rows() > 0) {
        $this->form_validation->set_message(__FUNCTION__, 'Already exist!');
        ;
        return FALSE;
    } else {
        return TRUE;
    }
}

如果数据库中不存在电子邮件,则必须在登录页面中显示电子邮件不存在。

标签: phpcodeigniter

解决方案


检查行是否存在

获取具有电子邮件 ID 的行,如果没有获取数据则返回 true;

public function email_exist($id) {
    $this->db->where('email', $id);
    $exist = $this->db->get('login')->row_array();
    if (!$exist) {
        return true;
    } 
}

但是如果你想要一个登录场景,那么你可以这样做

public function email_exist($id) {
        $this->db->where('email', $id);
        $exist = $this->db->get('login')->row_array();
        if ($exist) {
           // START SESSION HERE
            return true;
        } else {
           // give email not exist message 
           return false;
        }
    }

如果您通过 ajax 登录,那么您可以echo "email_not_exist"从控制器


推荐阅读