フォームを含むページがあり、ユーザーがそれを送信すると、データがコントローラに送られ、コントローラーが検証をチェックします。エラーがあれば、ユーザーを前のページ(フォームを含むページ)、それ以外の場合はデータをモデルに送信します。 (いずれかの検証エラーがある場合) redirect()による検証エラーデータの受け渡し方法
コントローラから前のページにリダイレクトするために、私は redirect($this->input->post('redirect'));
上記のコードが正常に動作して、次のコードを持っているが、それがユーザをリダイレクトした後に問題があります前のページ(フォームを含むページ)は、検証エラーを表示していません。
上記の「リダイレクト」コードで検証エラー情報を渡し、そのページに検証エラーメッセージを表示する方法を教えてください。事前に
感謝:)
ソリューション:
私のコントローラで:
<?php
if ($this->session->flashdata('errors')){ //change!
echo "<div class='error'>";
echo $this->session->flashdata('errors');
echo "</div>";
}
?>
は、このように私はを通じて検証エラーデータを渡すことができます私のビューファイルで
$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'));
コントローラから前のページにリダイレクト
まさに私がthis-を置くべき場所http://stackoverflow.com/questions/2000621/codeigniter-how-to-redirect-properly-with-form-validation –