编码器中表单验证的问题


Issue with form validation in codeigniter

我有一个问题,在验证我的表单,这是一个singup表单,我有登录和用户控制器,当我提交的表单,它带我登录页面。

当我将默认控制器更改为"user"时,它会验证表单,但当我想登录时,它不工作。我想知道出了什么问题!

是来自用户控制器的验证表单代码:

public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
        $this->load->library(array('session', 'form_validation', 'email'));
        $this->load->database();
        $this->load->model('user_model');
    }
    function index()
        {
            //set validation rules
            $this->form_validation->set_rules('name', 'First Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean');
            $this->form_validation->set_rules('prenom', 'Last Name', 'trim|required|alpha|min_length[3]|max_length[30]|xss_clean');
            $this->form_validation->set_rules('email', 'Email ID', 'trim|required|valid_email|is_unique[teacher.email]');
            $this->form_validation->set_rules('password', 'Password', 'trim|required|matches[cpassword]|md5');
            $this->form_validation->set_rules('cpassword', 'Confirm Password', 'trim|required|md5');
            //validate form input
            if ($this->form_validation->run() == FALSE)
            {
                // fails
                $this->load->view('backend/user_registration_view');
            }

这是视图:

<div class="panel-body">
                <?php $attributes = array("name" => "registrationform");
                echo form_open("user/register", $attributes);?>
                <div class="form-group">
                    <label for="name">First Name</label>
                    <input class="form-control" name="name" placeholder="Your First Name" type="text" value="<?php echo set_value('name'); ?>" />
                    <span class="text-danger"><?php echo form_error('fname'); ?></span>
                </div>

这是墨水,我测试我的应用程序请帮助我解决这个问题:

http://prof.skolarie.com (login为默认控制器)。

我认为当登录是默认设置覆盖用户控制器!

感谢

更新:路由文件;

$route['default_controller'] = 'login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

您可以在下面的链接中找到代码源代码:

http://prof.skolarie.com/uploads/myapp.zip

你的页面很难阅读,试着让你的事情尽可能简单,所以你可以看到你犯了任何错误,我试着看看问题可能在哪里,但我能找到的是你的表单指向奇怪的链接前注册表单指向:

http://prof.skolarie.com/index.php/user/index

这个链接真的错过了,表单应该指向一个检查输入的控制器,使用模型将它们放入数据库,然后指向日志控制器

也可能是路由问题,或者你已经改变了你的404错误视图,因为访问你的网站上的任何随机页面,它会生成一个登录表单,而不是显示404错误(例如:我访问了:http://prof.skolarie.com/index.php/random/random/random123,它一直显示我登录表单),确保你的路由是有效的,他们指向正确的控制器。

如果你一直有这个问题,请发布正确的代码示例,以及你的路由。

您在user/register上发布表单,我认为您在index功能上进行验证,因此请在register功能上进行验证,而不是index