私はコントローラの中に2つのメソッドがあり、1つはサインアップページの生成を担当し、もう1つはサインアップフォームの提出を担当します。CodeIgniterの2つのメソッドで変数にアクセスできるようにする方法は?
<?php
class Signup_c extends CI_Controller {
function __construct() {
parent::__construct();
}
function index() {
$data['title'] = 'Sign Up';
$data['months'] = array(
'1' => 'January',
'2' => 'February',
'3' => 'March',
'4' => 'April',
'5' => 'May',
'6' => 'June',
'7' => 'July',
'8' => 'August',
'9' => 'September',
'10' => 'October',
'11' => 'November',
'12' => 'December'
);
$this->load->view('signup_v', $data);
}
function submit() {
// validation rules here...
// validate
if ($this->form_validation->run() === FALSE) {
$this->load->view('www/signup_v');
}
else {
// add info to database here...
$this->load->view('www/signup_success_v');
}
}
}
ここで問題があります。検証エラーがある場合、ユーザーはサインアップページに戻り、検証エラーが表示されます。ただし、これらの変数はsubmit()メソッドではなくindex()メソッド内で定義されているため、タイトルや日付は表示されません。
これに最適な解決策は何ですか、私は自己を繰り返し、signupメソッド内の2つの変数宣言をコピーしたくありません。両方のメソッドのビューで動作させる方法はありますか?
私が見る限り、それは彼が求めているものではありません。 – middus