ユーザーがフォームを送信した後にフォームの検証を使用しようとしています。私のビューページには私のコントローラが渡した変数があります。ビューページは、検証するフォームを送信するまで正常に機能します。それは、コントローラによって渡された変数が定義されていないというエラーを私に与えました。私はこれを解決する方法がわかりません。何かご意見は?Codeigniterでフォームが検証された後の未定義の変数エラー
// Controller - status.php
public function load_view()
{
$this->load->model('project_query');
$JNresults=$this->project_query->get_jobnumber();
$data['JNresults']=$JNresults->result(); //pass to view
$data['view']='form_view';
$this->load->view('include/template',$data);
}
public function validate()
{
//validate form
$data['error']='There are errors in your form.';
$data['view']='form_view';
$this->load->view('include/template',$data);
}
// View page - form_view.php
foreach ($JNresults as $row): //work fine when first loaded.
echo $row->job_number;
endforeach;
echo form_open('status/validate');
echo validation_errors();
// input fields...
echo form_submit($submit);
echo form_close();
私は、フォームを送信した後、私は未定義の変数$JNresults
を取得します。私はビューのページがコントローラから渡されたので、それを認識しないことを理解しています。私はただ誰かが私にこれを解決するのを助けることができるかどうかを知りたい。
ありがとうMadmartigan。私はあなたがビューをロードしてフォームを検証する必要があるとき、これがベストプラクティスだと思いますか? – FlyingCat
Codeigniterで自分の足元を見つけている間に私が提案していることですが、ベストプラクティスとは思えないものがあります。時には真の[Post/Redirect/Get](http://en.wikipedia。 org/wiki/Post/Redirect/Get)パターンを使用します。それは本当に依存しています。フォームの処理後に 'redirect()'を実行するようにしてください。 –
が分かります。ありがとう。 – FlyingCat