Как описано в документации CodeIgniter, flashdata
- это сеансы, которые живы только в запросе, и после этого они умирают.CodeIgniter flashdata не умирает после одного запроса
Теперь я использовал этот механизм для моего процесса входа в систему, однако он терпит неудачу. Всякий раз, когда я нахожусь на странице, то есть flashdata
жив.
Я установил flashdata
в случаях, когда логин email/pass
является неправильным, и возврат на страницу входа в систему, после чего я устанавливаю условие, которое проверяет, установлены ли флеш-данные, а затем выведите сообщение об ошибке. Теперь, каждый раз, когда я посещаю страницу входа в систему, он показывает ошибку с ошибкой входа. Зачем?
Вот страница Логина в условном операторе, который проверяет наличие flashdata наличия (в файле представление login.php)
if($this->session->flashdata("login-result") == 0)
{
show_fail("رمز عبور یا رایانامه اشتباه می باشد.");
}
Я также поставил echo()
код, чтобы увидеть, если flashdata когда-либо установлен, который показывает правильное значение:
echo ($this->session->flashdata("login-result"));
А вот Логин условие, которое я использовал для установки flashdata:
// go with regular registration
$this->db->where("email", $this->input->post("email"));
$this->db->where("password", md5($this->input->post("password")));
$this->db->from("users");
$login_result = $this->db->count_all_results();
if($login_result == 0)
{
$this->session->set_flashdata("login-result", 0);
redirect(base_url("access/login"));
}
else if($login_result > 0)
{
redirect("panel/home");
}
Вы использовали его правильно в вашем коде, так почему вы продолжаете называть его FlashCard ?? –