-1

過去に codeigniter を使用したことがありますが、ソーシャル ネットワークを構築しており、登録に取り組んでいます。フォームとフォーム検証ヘルパーをオートロードしました。ユーザーコントローラー/レジスター機能にフォームが送信され、検証ルールが設定されていますが、それらを無視して次のページに進みます。私は一生、理由を理解できません。コードとルールは完全ではありませんが (明らかに)、検証はこの時点で機能するはずです。

見る

                <?php echo validation_errors('<p class="error">'); ?>
                <?php echo form_open('user/register/1'); ?>
                <?php echo form_hidden('register_id', $randomcode); ?>
                <?php echo form_label('First Name', 'first_name'); ?>
                <?php echo form_input('first_name',set_value('first_name')); ?>
                <br />
                <?php echo form_label('Last Name', 'last_name'); ?>
                <?php echo form_input('last_name',set_value('last_name')); ?>
                <br />
                <?php echo form_label('Gender', 'gender:'); ?>
                <?php echo form_radio('gender', 'male'); ?> Male
                <?php echo form_radio('gender', 'female'); ?> Female
                <br />
                <?php echo form_label('Date of Birth:', 'birthdate'); ?>
                <?php echo form_date('birthdate'); ?>
                <br />
                <?php echo form_label('Zipcode:', 'zipcode'); ?>
                <?php echo form_input('zipcode',set_value('zipcode')); ?>
                <br />
                <?php echo form_label('Email:', 'email'); ?>
                <?php echo form_email('email',set_value('email')); ?>
                <br />
                <?php echo form_label('Password', 'password'); ?>
                <?php echo form_password('password'); ?>
                <br />
                <?php echo form_label('Confirm', 'password2'); ?>
                <?php echo form_password('password2'); ?>
                <br />
                <?php
                $data = array(
                    'name'        => 'submit',
                    'class'       => 'big-blue-btn',
                    'value'       => 'Sign Up'
                    );
                ?>
                <?php echo form_submit($data); ?>
            <?php echo form_close(); ?>

コントローラ

public function register($step){
    if($step == 1){
        $this->form_validation->set_rules('first_name', 'first_name', 'required');
                    $this->form_validation->set_rules('last_name', 'last_name', 'required');

        if($this->form_validation->run() == FALSE){
            //Views
            $data['main_content'] = 'public/user/register1';
            $this->load->view('public/template', $data);
        } else {
            //Post values to array
            $data = array(
                    'register_id' => $this->input->post('register_id'),
                    'first_name' => $this->input->post('first_name'),
                    'last_name' => $this->input->post('last_name'),
                    'gender' => $this->input->post('gender'),
                    'birthdate' => $this->input->post('birthdate'),
                    'zipcode' => $this->input->post('zipcode'),
                    'email' => $this->input->post('email'),
                    'password' => $this->input->post('password'),
                    'password2' => $this->input->post('password2')
                );

            //Send input to model
            $this->User_model->register1($data);

            $data['show_sidebar'] = FALSE;
        }

    } elseif($step == 2){
        //Send input to model
        $this->User_model->register2($data);

    } elseif($step == 3){
        //Send input to model
        $this->User_model->register3($data);
    }

}
4

1 に答える 1

0

コードを確認してください。最初の if に閉じ括弧がありません。

于 2013-04-25T21:41:43.717 に答える