我认为我正在做的一切都很好,但为什么我的验证工作不正常。每次执行else语句,即使我输入有效数据。
public function login ()
{
// Redirect a user if he's already logged in
$dashboard = base_url().'dashboard';
$this->user_model->loggedin() == FALSE || redirect($dashboard);
// Set form
$this->form_validation->set_rules('email','Email','required');
$this->form_validation->set_rules('password','Password','required');
// Process form
if ($this->form_validation->run() == TRUE) {
echo "Validation Success";
}else{
$this->session->set_flashdata('validation_errors', validation_errors().'<p>Please enter valid email and password</p>' );
redirect(base_url().'login', 'refresh');
}
修改
我正在使用dreamhost VPS。
答案 0 :(得分:0)
除非你在另一台服务器上的另一个codeigniter项目,否则只需使用
redirect('name_of_controller/name_of_method')
无需放置base_url()
,因为它已使用基本网址作为条件。
并在验证邮件中设置$this->form_validation->set_message('rule','message')
在http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#settingerrors
了解详情您尚未向我们展示视图,请告诉我们您如何在视图中发布错误消息。
1。)如果确实设置了验证错误,则会话var_dump()
2。)你加载了会话库吗?
3.。)您确定要在视图上访问正确的会话变量吗?