Ho una pagina che contiene un modulo e quando un utente lo invia, i dati vanno a un controller e il controllore controlla la convalida, se c'è qualche errore esso reindirizza l'utente alla pagina precedente (la pagina che contiene il modulo), altrimenti invia i dati ai modelli.Come passare i dati degli errori di convalida tramite redirect()?
Per reindirizzare alla pagina precedente dal regolatore (se c'è qualche errore di convalida), ho il seguente codice
redirect($this->input->post('redirect'));
Il codice di cui sopra sta lavorando bene ma il problema è dopo che reindirizza l'utente al pagina precedente (la pagina che contiene il modulo) non visualizza gli errori di convalida.
Quindi, per favore, cortesemente, dimmi come passare le informazioni sull'errore di convalida attraverso questo codice di "reindirizzamento" che ho postato sopra e mostra il messaggio di errore di convalida su quella pagina?
Grazie in anticipo :)
Soluzione:
Nel mio controller:
$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'));
Nel mio file vista:
<?php
if ($this->session->flashdata('errors')){ //change!
echo "<div class='error'>";
echo $this->session->flashdata('errors');
echo "</div>";
}
?>
Così posso passare i dati di errore di convalida attraverso reindirizzare dal controller alla pagina precedente
Date un'occhiata http://stackoverflow.com/questions/2000621/codeigniter-how-to-redirect-properly-with-form-validation –