我在验证表单方面存在问题,这是一个单身表格,我有登录和用户控制器,当我提交表格时,我需要登录页面。
我将默认控制器更改为" 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(登录是默认控制器)。
我认为默认设置登录时会覆盖用户控制器!
谢谢
更新:路线文件;
$route['default_controller'] = 'login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
您可以在以下链接中找到代码来源:
答案 0 :(得分:0)
您的页面很难阅读,请尽量让事情变得简单,这样您就可以看到您犯了什么错误,我试着看看问题出在哪里,但我能找到的只是您的表格是指向注册表单之前的奇怪链接指向:
http://prof.skolarie.com/index.php/user/index
此链接确实错过了,表单应该指向一个控制器,它检查输入,使用模型将它们放入数据库,然后指向日志记录控制器
此外,它可能是路由问题,或者您已更改404错误视图,因为访问您网站上的任何随机页面,它会生成登录表单而不是显示404错误(例如:我访问过:{{ 1}}并且它一直向我显示登录表单),确保您的路由有效,并且它们指向正确的控制器。
如果您遇到此问题,请发布正确的代码示例以及路线。
答案 1 :(得分:0)
您正在user/register
上发布表单,我认为您在index
功能中的验证功能因此请在register
函数上进行验证,而不是index
。