0

check()ユーザー名とパスワードをチェックする次の機能を備えた codeigniter コントローラーがあります。

http://localhost/prakash/modules/index.php/login/login/login/login/login/login/check

(ビューから)フォームを送信するたびに、上記のリンクが生成されます。どうすればそれを克服できますか。redirect('login')代わりにコントローラーで使用することもできまし$this->load->view('login/login_form');たが、そのようにすると、フォームに検証エラーが表示されません。

私のコントローラーは

function check(){

        $this->form_validation->set_rules('username', 'Username', 'required');
        if($this->form_validation->run()==FALSE){
            $this->load->view('login/login_form');
        }else{
            $this->load->model('loginModel');
            $query = $this->loginModel->validate();
            if($query){
                $data = array('username' => $this->input->post('username'),
                               'is_logged_in' => true
                            );
                $this->session->set_userdata($data);
                //redirecting to appropriate page 
                redirect('success');
            }else{
                $this->session->set_flashdata('loginCheck','Username/Password Comination Incorrect!');
                redirect('login');
            }
        }

    }

私の見解は

<section class="main">
<form class="form-1" action="login/check" method="post">
    <?php echo "<p class=\"text-error\">{$this->session->flashdata('loginCheck')}</p>"; ?>
    <?php echo validation_errors(); ?>
    <p class="field">
        <input type="text" name="username" placeholder="Username or email">
        <i class="icon-user icon-large"></i>
    </p>
        <p class="field">
            <input type="password" name="password" placeholder="Password">
            <i class="icon-lock icon-large"></i>
    </p>
    <p class="submit">
        <button type="submit" name="submit"><i class="icon-arrow-right icon-large"></i></button>
    </p>
</form>
</section>
4

1 に答える 1

0

問題は form タグの action 属性にあります

変化する

<form class="form-1" action="login/check" method="post">

<form class="form-1" action="/login/check" method="post">

またはそれ以上 (url ヘルパーを使用している場合)

<form class="form-1" action="<?php echo base_url() ?>login/check" method="post">

なぜそれが起こっているのですか?

path現在の URL に相対的な値を使用しています。

HTML フォーム アクション属性

例 1

例 2

例 3

于 2013-02-01T15:58:02.133 に答える