Mam stronę zawierającą formularz, a kiedy dowolny użytkownik ją przesyła, dane trafiają do kontrolera, a kontroler sprawdza poprawność, jeśli wystąpi jakikolwiek błąd, przekierowuje użytkownika na poprzednią stronę (stronę zawierającą formularz), w przeciwnym razie wysyła dane do modeli.Jak przekazać dane o błędach walidacji poprzez przekierowanie()?
przekierować do poprzedniej strony z kontrolera (jeżeli istnieje jakikolwiek błąd walidacji), mam następujący kod
redirect($this->input->post('redirect'));
Powyższy kod działa poprawnie, ale problem jest po to przekierowuje użytkownika do poprzednia strona (strona zawierająca formularz) nie wyświetla błędów sprawdzania poprawności.
Czy mógłbyś uprzejmie powiedzieć mi, jak przekazać informacje o błędach walidacji za pośrednictwem tego "przekierowania" kodu, który napisałem powyżej i pokazać komunikat o błędzie sprawdzania poprawności na tej stronie?
z góry dzięki :)
Rozwiązanie:
W moim kontrolera:
$redirect=$this->input->post('redirect'); // << for this I have- <input name="redirect" type="hidden" value="<?= $this->uri->uri_string() ?>" /> in my view file
$this->session->set_flashdata('errors', validation_errors());
redirect($this->input->post('redirect'));
w moim pliku Widok:
<?php
if ($this->session->flashdata('errors')){ //change!
echo "<div class='error'>";
echo $this->session->flashdata('errors');
echo "</div>";
}
?>
ten sposób mogę przekazać dane o błędach walidacji poprzez przekierowanie z kontrolera na poprzednią stronę
Weź http://stackoverflow.com/questions/2000621/codeigniter-how-to-redirect-properly-with-form-validation wygląd –