0

プロセス ページのデータベース内の情報を評価し、必要に応じてエラーを返すフォームがあります。私はAjaxを使用しているので、実際にはプロセスページに移動して、Jsonでエンコードしたものをロードして返す必要はありません。ここに私のフォームとJavascriptがあります:

<form method="post" action="../user/process_login" id="login_form">
    <input type="hidden" name="action" value="login">
    <label>Email Address:</label>
    <input type="text" id="email" name="email" placeholder="Email" />       
    <label>Password:</label>
    <input type="password" id="password1" name="password0" placeholder="Password" />
    <input type="submit" id="submitbtn" placeholder="Submit" class="button"/>
</form>

Javascript:

<script type="text/javascript">
$(document).ready(function(){
    $('#login_form').submit(function(){
        $.post
        (
            $(this).attr('action'),
            $(this).serialize(),
            function(data){
                if (data['errors'] == '') {
                    consle.log(data);
                };
                else{
                    console.log(data);
                    $('#alert_box').html(data);
                };
            },
            "json"
        );
        return false;
    });
});
</script>

私の検証コードの関連セクションは次のとおりです。

if (count($user) > 0 AND $decrypted_password == $this->input->post('password0')) 
    {
        $this->session->set_userdata('user_session', $user);
        $this->load->view('main.php');
    }
    else
    {
        $errors = "<div class='alert-box alert' id='error-box'><p>Your login information did not match our reccords. Try again</p></div>";
    echo json_encode($errors);
    }   
4

2 に答える 2