私はコントローラー認証を持っており、ログインと登録の2つの方法があります。
そして、それはうまく機能しています。
ただし、login_and_registerという別の関数が必要です。この関数には、実行される部分を決定するif条件があります。ログイン部分(基本的にログイン方式からのコード)または登録部分(登録方式からのコード)の場合。
if条件は、どの送信ボタンがクリックされたかをチェックする必要があります。
しかし、ここに問題があります。
両方のフォーム(ログインと登録)のform_openが次のようになっている必要があります:
<?php echo form_open('auth/login_and_register'); ?>
また、これをたとえばauth / login_and_register_log、auth / login_and_register_reg、auth / login_and_register / log、auth / login_and_register/regなどに変更することはできません。
ログインフォームと登録フォームは同じビューにあり、送信が押された後、認証コントローラーのこの関数login_and_registerが実行されます。
ログインフォームの場合はsubmitlog 、登録フォームの場合はsubmitregと呼ばれるため、送信値の名前に基づいてif条件を作成できると考えていました。
だから、多分このようなもの:
if( isset($this->form_validation->set_value('submitlog')) ) {
//code for login part
}
elseif ( isset($this->form_validation->set_value('submitreg')) ) {
//code for registration part
}
else {
//code for redirect to homepage
}
しかし、それは機能していません。なぜですか?