Php Codeigniter表单验证类

Php Codeigniter表单验证类,php,codeigniter,validation,Php,Codeigniter,Validation,我有一个有趣的事情发生在我的本地开发设置。使用codeigniter,我有一个表单,可以模拟在数据库中存储用户的一些信息。此时,我还没有数据库设置,我只是希望表单在验证完成后将我发送到成功页面。但是当我提交表单时,它会返回并告诉我name字段是空的,并且我从未获得成功页面。我是不是遗漏了什么?请查一下,如果我遗漏了什么,请告诉我! 这是控制器中处理表单的函数 function showsupport() { $this->form_validation->set_rules(

我有一个有趣的事情发生在我的本地开发设置。使用codeigniter,我有一个表单,可以模拟在数据库中存储用户的一些信息。此时,我还没有数据库设置,我只是希望表单在验证完成后将我发送到成功页面。但是当我提交表单时,它会返回并告诉我name字段是空的,并且我从未获得成功页面。我是不是遗漏了什么?请查一下,如果我遗漏了什么,请告诉我! 这是控制器中处理表单的函数

function showsupport()
{
    $this->form_validation->set_rules('supportername','Name','trim|required|max_length[30]');
    $this->form_validation->set_rules('supporteremail','Email Address','trim|required|valid_email');
    $this->form_validation->set_rules('pledgedate','Pledge Date','trim|required');
    $this->form_validation->set_rules('messagetxt','Your Message','trim|required|xss_clean');

    if($this->form_validation->run() == FALSE)
    {
        $this->template->write_view('content','supportus');
        $this->template->render();
    } else {
        $this->template->write('content','Your submission was a success');
        $this->template->render();
    }
}


<div id="supportform" class="formblock">

                <?php
                  $formdata = array('id'=>'suppform');
                      echo form_open('homepage/showsupport',$formdata);
                     $namedata = array('name'=>'supportname','id'=>'supportname','size'=>'30','max_length'=>'25');
                     echo '<label for="supportername">Your Name:'.form_input($namedata,set_value('supportname')).'</label><br /><br />';
                     $emaildata =  array('name'=>'supporteremail','id'=>'supporteremail','size'=>'30','max_lenth'=>'25');
                     echo '<label for="supporteremail">Email Address:'.form_input($emaildata,set_value('suppoteremail')).'</label><br /><br />';
                     $pledgedata = array('name'=>'pledgedate','id'=>'pledgedate','size'=>'30','max_length'=>'20');
                     echo '<label for="pledgedate">Today\'s Date:'.form_input($pledgedata,set_value('pledgedate')).'</label><br /><br />';
                     $msgdata = array('name'=>'messagetxt','id'=>'messagetxt','col'=>'2','rows'=>'8');
                     echo '<label for="messagetext">Your Pledge:'.form_textarea($msgdata).'</label><br />';
                     $submitdata = array('name'=>'submitbtn','id'=>'submitbtn','value'=>'Send');
                     echo '<label for="submitbutton">'.form_submit($submitdata).'</label><br />';
                     echo form_close();
                ?>
            </div>
        <div id="errorsechoed">
            <div class="ui-widget">
        <div class="ui-state-error ui-corner-all" style="padding: 0 .7em; border: none;">                        
                      <?php echo validation_errors('<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>');?>
函数showsupport()
{
$this->form_validation->set_rules('supportername'、'Name'、'trim | required | max_length[30]);
$this->form_validation->set_规则('supporteremail'、'Email Address'、'trim | required | valid_Email');
$this->form|u validation->set|u rules(‘质押日期’、‘质押日期’、‘trim |必需’);
$this->form_validation->set_规则('messagetxt'、'Your Message'、'trim | required | xss_clean');
如果($this->form\u validation->run()==FALSE)
{
$this->template->write_view('content','supportus');
$this->template->render();
}否则{
$this->template->write(‘内容’,‘您的提交成功了’);
$this->template->render();
}
}

表单验证规则和视图html元素之间存在名称不匹配

验证规则

$this->form_validation->set_rules('supportername','Name','trim|required|max_length[30]');
HTML文件

$namedata = array('name'=>'supportname','id'=>'supportname','size'=>'30','max_length'=>'25');
 echo '<label for="supportername">Your Name:'.form_input($namedata,set_value('supportname')).'</label><br /><br />';
$namedata=array('name'=>'supportname','id'=>'supportname','size'=>'30','max_length'=>'25');
回显“您的姓名:”。形成输入($namedata,set_value('supportname'))。

将验证规则名称更改为“supportname”

将'name'=>'supportname'更改为'name'=>'supportername'