1

私はすべてうまくやっていると思いますが、なぜ私の検証が機能していないのですか。有効なデータを入力しても、else ステートメントが実行されるたびに。

public function login ()
{
    // Redirect a user if he's already logged in
    $dashboard = base_url().'dashboard';
    $this->user_model->loggedin() == FALSE || redirect($dashboard);

    // Set form
    $this->form_validation->set_rules('email','Email','required');
    $this->form_validation->set_rules('password','Password','required');

    // Process form
    if ($this->form_validation->run() == TRUE) {

        echo "Validation Success";
    }else{

        $this->session->set_flashdata('validation_errors', validation_errors().'<p>Please enter valid email and password</p>' );
        redirect(base_url().'login', 'refresh');

    }

編集

ドリームホスト VPS を使用しています。

4

1 に答える 1

0

別のサーバー上の別の codeigniter プロジェクトを使用して いない限り、条件として既にベース URL を使用しているため、redirect('name_of_controller/name_of_method')配置する必要はありません。base_url()

そして、検証メッセージに次のようなメッセージを設定します$this->form_validation->set_message('rule','message')

詳細については、 http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#settingerrorsをご覧ください。

また、ビューを表示していない場合は、ビューにエラー メッセージを投稿する方法を示してください。

1.)var_dump()検証エラーが実際に設定されている場合は、セッションを開始します

2.) セッション ライブラリをロードしましたか?

3.) ビューで適切なセッション変数にアクセスしていますか?

于 2013-05-03T03:43:01.380 に答える