简单的if / else条件在提交时工作

时间:2012-11-04 19:44:45

标签: php forms codeigniter form-submit

我尝试过很多不同的事情,包括将$this->load->helper(array('form', 'url'));添加到a​​utoload.php等等。

当我填写名字和姓氏的值而没有其他内容并按提交时,它只会重定向回if{} else{}

中指定的同一页面(而不是clientRegistrationSuccess.php)

表单(查看)

 echo validation_errors();

       echo form_open('index/pages/clientcreation',$CustCreationFormAttr);
        echo form_label('First Name: ','fname');
            echo form_input($CustCreationFirstName);echo '<br>';
        echo form_label('Last Name: ','lname');
            echo form_input($CustCreationLastName);echo '<br>';
        echo form_label('Title: ', 'title');
            echo form_input($CustCreationClientTitle);echo '<br>';
        echo form_label('Company: ', 'co');
            echo form_input($CustCreationCompany);echo '<br>';
        echo form_label('Email: ','email');
            echo form_input($CustCreationEmail);echo '<br>';
            echo form_submit($CustCreationSubmit,'Submit'); 

控制器

class Clientcreation extends CI_Controller
    {   
        function index(){
            ####################################
            $this->load->view('navigation');
            $this->load->view('pages/clientcreation');
            $this->load->view('footer');   

            ####################################
            $this->load->helper(array('form', 'url'));
            $this->load->library( array('form_validation') );

            ## Set Validation
            $this->form_validation->set_rules('fname', 'First Name', 'required');
        $this->form_validation->set_rules('lname', 'Last Name', 'required');

            ## Perform Validation
            if ($this->form_validation->run() == FALSE){
                $this->load->view('pages/clientcreation');
            }
        else{
                $this->load->view('pages/success/clientRegistrationSuccess');
        }
        } 

    }

此外,表单按预期加载...如: img1

路径也匹配,因为如果我将$this->load->view('pages/clientcreation');更改为$this->load->view('pages/hi');,则会调用此视图。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

这对我来说是一个愚蠢的错误。

验证不起作用的原因是,我试图直接在我的视图中输出验证错误,当我应该在控制器上输出时,如:

if ($this->form_validation->run() == FALSE){
             echo validation_errors();
            $this->load->view('pages/clientcreation');
        }

在控制器端,不在视图上。  (在顶部)