@viktorross

Не работает вход по email, хотя в скрипте это предусмотрено, в чем проблема?

здравствуйте, подскажите пожалуйста в чем может быть проблема, в скрипте предусмотрен вход по логину и email , но работает только логин, как это исправить? может кто-то знает что поправить или посмотрит оба файла в которых вход реализуется

public function crtUser()
    {
        return $_SESSION[$this->session_index["auth_name"]];
    }
    public function crtUserId()
    {
        global $config_abs_path;
        global $settings;
        require_once $config_abs_path . "/classes/users.php";
        if (!isset($_SESSION[$this->session_index["auth_name"]])) {
            return 0;
        }
        $aname = $_SESSION[$this->session_index["auth_name"]];
        $identity = $_SESSION["identity"];
        $usr = new users();
        if ($settings["enable_username"]) {
            $user_id = users::getUserId($aname, $identity);
        } else {
            $user_id = users::getIdByEmail($aname, $identity);
        }
        return $user_id;
    }


есть такая часть

global $settings;
        if ($settings["enable_username"]) {
            $this->post_index = array("auth_name" => "username", "pass" => "password");
            $this->admin_post_index = array("auth_name" => "username", "pass" => "password");
        } else {
            $this->post_index = array("auth_name" => "email", "pass" => "password");
            $this->admin_post_index = array("auth_name" => "email", "pass" => "password");
        }


такой код

public static function getUsername($id = "")
    {
        global $db;
        $uname = $db->fetchRow("select `username` from " . TABLE_USERS . " where id=\"" . $id . "\"");
        return $uname;
    }

public static function getUserId($username, $identity = "")
    {
        global $db;
        $str = "";
        if ($identity) {
            $str = " and `identity`='" . $identity . "'";
        }
        $id = $db->fetchRow("select id from " . TABLE_USERS . " where `username` like \"" . $username . "\"" . $str);
        if (!$id) {
            return 0;
        }
        return $id;
    }

public static function getEmail($id = "")
    {
        global $db;
        if (!$id) {
            return NULL;
        }
        $email = $db->fetchRow("select email from " . TABLE_USERS . " where id=\"" . $id . "\"");
        return $email;
    }
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы