0

想不出一个更好的标题来回答这个问题。无论如何,这是问题所在。

我有一个简单的联系表格。如果用户进入该页面并输入错误信息(没有电子邮件或消息),那么一切似乎都正常。我收到验证错误。但是,如果他们连续 6 次输入错误信息,则单击浏览器的“返回”按钮。他们不会转到上一页。他们必须点击 6 或 7 次才能返回上一页。难道我做错了什么?

class Contact extends CI_Controller {

    function index()
    {

        $data['title'] = "Contact Us";
        $data['main'] = 'contact';
        $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
        $this->form_validation->set_rules('message','Message','required');

        if ($this->form_validation->run() == FALSE)
        {
            $this->load->vars($data);
            $this->load->view('template');
        }
        else
        {
             $contactdata['username'] = $this->input->post('email');
             $contactdata['title'] = "Contact Success";
             $contactdata['main'] = 'contactsuccess';
             $this->load->vars($contactdata);
             $this->load->view('template');
        }
}
4

1 回答 1

0

您可以检查请求是否来自发布请求

class Contact extends CI_Controller {

    function index()
    {

        $data['title'] = "Contact Us";
        $data['main'] = 'contact';

        if($this->input->post()){

               $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
               $this->form_validation->set_rules('message','Message','required');

              if ($this->form_validation->run() == FALSE)
              {
                  $this->load->vars($data);

              }
              else
              {
                 $contactdata['username'] = $this->input->post('email');
                 $contactdata['title'] = "Contact Success";
                 $contactdata['main'] = 'contactsuccess';
                 $this->load->vars($contactdata);
             }
        }
        else{
                 $this->load->vars($data);
        }

        $this->load->view('template');

  } 
于 2013-01-09T08:25:31.547 回答