UPDATE
Chcesz umieścić formę, zweryfikować je, a następnie pokazać formularz ponownie walidacji błędy, jeśli sprawdzanie poprawności nie powiedzie się lub pokaż coś zupełnie innego, jeśli sprawdzanie poprawności minie.
Najlepszym sposobem na to jest przesłanie formularza do siebie. Tak więc działanie twojego formularza będzie miało postać action=""
. W ten sposób, w swojej metodzie, można sprawdzić, czy formularz został złożony, i ustalić, co zrobić tam:
// in my form method
if ($this->input->post('submit')) // make sure your submit button has a value of submit
{
// the form was submitted, so validate it
if ($this->form_validation->run() == FALSE)
{
$this->load->view('myform');
}
else
{
$this->load->view('formsuccess');
}
}
else
{
// the form wasn't submitted, so we need to see the form
$this->load->view('myform');
}
OLD ODPOWIEDŹ
Zawsze można przekazać aktualną URI w ukryty pola w formularzu:
<input name="redirect" type="hidden" value="<?= $this->uri->uri_string() ?>" />
A potem przekierować, jeśli uwierzytelnienie nie powiedzie:
redirect($this->input->post('redirect'));
Albo można ustawić przekierowanie w flashdata sesji zmiennej:
// in the method that displays the form
$this->session->set_flashdata('redirect', $this->uri->uri_string());
A potem przekierować, jeśli uwierzytelnienie nie powiedzie:
redirect($this->session->flashdata('redirect'));
Dziękuję za odpowiedź. Pierwsze dwa z opublikowanych przez Ciebie kodów działają idealnie, aby wyświetlać błędy sprawdzania poprawności. Więc próbowałem użyć dwóch twoich kodów, które opublikowałeś, ale ponieważ mam bardzo małą wiedzę na temat PHP/codeigniter, nie jestem pewien, gdzie z nich korzystać. Czy powinienem wkleić tę "$ this-> session-> set_flashdata (" redirect ", $ this-> uri-> uri_string());" na kontrolerze zamieszczonym powyżej lub w formularzu, o którym wspomniałem? Jeszcze raz dziękuję :) Przepraszamy za moje głupie pytanie. :( –
Tak czy inaczej, nie dostaniesz błędów sprawdzania poprawności, chyba że je również przekażesz. Zaktualizuję odpowiedź, aby pokazać, że potrzebujesz błędów sprawdzania poprawności. – swatkins