1

ドキュメントに何度もアクセスした後でも、コントローラーの使用率を理解するのにギャップがあります。私は次のものを持っています:

class Membership extends CI_Controller 
{


    /*Load the login view first assuming user is member*/
    public function index()
    {
        $this->load->view('login');
    }

    /*if not member, load register view*/
    public function register()
    {
        $this->load->view('register');
    }

    /*view to recover user credentials*/
    public function recover()
    {
        $this->load->view('recover');
    }

    public function enroll_user()
    {
        /*Retrieve post parameters*/
        $fullname = $this->input->post('fullname');
        $email = $this->input->post('email');
        $mobile = $this->input->post('mobile');
        $home = $this->input->post('home');
        $username = $this->input->post('username');
        $password = $this->input->post('password');
        $confirmPassword = $this->input->post('cpassword');
    }

}

ここで、ユーザーがメインページの[今すぐ登録]リンクをクリックすると、register()関数がビューをロードする必要があります。しかし、彼がフォームに記入して送信した後、どの機能に送信する必要がありますか?これは、機能ごとに2つの関数を作成する必要があることを意味します。1つはビューをロードするため(register.php)、もう1つはその関数の操作を処理するため(enroll_user)です。

4

2 に答える 2

3

あなたはたった一発でこれを行うことができます

public function register()
{
    $post = $this->input->post();
    if($post){
        // do other stuff here
        // you can load view here too if validation fails
    }else{
        $this->load->view('register');
    }
}

そして、あなたのフォームでこれを使用してください

echo form_open(current_url());  
于 2013-03-11T06:46:10.983 に答える
1

register.phpで、フォームのアクションをmemebership / enroll_userに配置します。これにより、ユーザーが登録フォームを送信すると、アクションがenroll_user関数に送信され、登録などが処理されます。

登録フォームを表示する機能と、送信されたデータを処理する機能の2つの機能が必要です。1つのコントローラーを使用して実行できますが、後でどの関数が何を実行しているかを簡単に確認できるため、2つのコントローラーで実行することをお勧めします。

于 2013-03-11T06:37:01.370 に答える