Я работаю с веб-сайтом, используя CodeIgniter Framework. Я попытался войти, используя неверное имя пользователя и пароль. К сожалению, «В аккаунте отказано. Пожалуйста, попробуйте еще раз». сообщение не отображается. Но сообщение об успехе отображается, когда я ввел правильное имя пользователя и пароль. Я использую сообщение подсластителя для этого.
Контроллер:
public function login() {
$username = $this->input->post('username', TRUE);
$password = $this->input->post('password', TRUE);
$this->form_validation->set_rules('username', 'Username', 'required|xss_clean|trim');
$this->form_validation->set_rules('password', 'Password', 'required|xss_clean|trim');
$validator = array('success' => FALSE, 'messages' => array());
if ($this->form_validation->run() == TRUE) {
$data = array('username' => $username, 'password' => sha1($password));
$user = $this->admin->fetch('admin', $data)[0];
if (!$user) {
$this->session->set_flashdata('admin_reg_errors', 'Your admin account is invalid.');
redirect('/admin/login', 'refresh');
} else {
$userdata = array('a_logged_in' => TRUE, 'adminid' => $user->id);
if ($this->insert_logs($user->id, '1', 'Admin Sign In', 0)) {
$this->session->set_userdata($userdata);
redirect('admin', 'refresh');
}
}
} else {
$this->session->set_flashdata('admin_reg_errors', validation_errors());
redirect('/admin/login', 'refresh');
}
}
public function do_login() {
$username = $this->input->post('username', TRUE);
$password = $this->input->post('password', TRUE);
$this->form_validation->set_rules('username', 'Username', 'required|xss_clean|trim');
$this->form_validation->set_rules('password', 'Password', 'required|xss_clean|trim');
$validator = array('success' => FALSE, 'messages' => array());
if ($this->form_validation->run() == TRUE) {
$data = array('username' => $username, 'password' => sha1($password));
$user = $this->admin->fetch('admin', $data)[0];
$userdata = array('a_logged_in' => TRUE, 'adminid' => $user->id);
if (!$user) {
$validator['message'] = "Your account is invalid.";
$validator['success'] = FALSE;
$validator['errormsg'] = TRUE;
} else {
if ($this->insert_logs($user->id, '1', 'Admin Sign In', 0)) {
$this->session->set_userdata($userdata);
$validator['message'] = "You have successfully logged in.";
$validator['success'] = TRUE;
$validator['errormsg'] = FALSE;
} else {
$validator['message'] ="Account has been denied. Please try again.";
$validator['success'] = FALSE;
$validator['errormsg'] = TRUE;
}
}
echo json_encode($validator);
} else {
foreach ($_POST as $key => $value) {
$validator['messages'][$key] = form_error($key);
$validator['success'] = FALSE;
$validator['errormsg'] = FALSE;
}
echo json_encode($validator);
}
}
Ajax:
$(document).ready(function() {
function do_login() {
$('#admin-login-form').submit(function(e) {
e.preventDefault();
var username = $("#login_username").val();
var password = $("#login_password").val();
var formData = $(this).serialize();
$("#login_username-error").html("");
$("#login_password-error").html("");
console.log();
$.ajax({
type: "POST",
url: app_url + "adminlogin/do_login",
data : formData,
dataType: "json",
success:function(res) {
console.log(res);
if (res.success) {
console.log(res.message);
validator("#login_username-error", "");
validator("#login_password-error", "");
swal({
title: "Login Success",
text: res.message,
icon: "success",
button: null
});
setTimeout(function() {
location.href = app_url + "admin";
}, 2000);
} else {
if (res.errormsg) {
console.log(res.message);
consol
swal({
title: "Login Failed",
text: res.message,
icon: "warning",
button: null
});
setTimeout(function() {
location.href = app_url + "adminlogin";
}, 2000);
}
if (res.messages.username != "") {
validator("#login_username-error", res.messages.username);
} else {
validator("#login_username-error", "");
}
if (res.messages.password != "") {
validator("#login_password-error", res.messages.password);
} else {
validator("#login_password-error", "");
}
console.log(res.messages);
}
}
});
});
}
function validator(id, message) {
if (message != "") {
console.log("wha");
$(id).parent("div").addClass("form-animate-error");
$(id).append(message);
} else {
$(id).parent("div").removeClass("form-animate-error");
$(id).html("");
}
}
do_login();
});