Codeigniter Post不断加起来

时间:2013-01-09 08:17:13

标签: php codeigniter

无法想到这个问题的更好的标题。无论如何这是问题。

我有一个简单的联系表格。如果用户访问该页面并输入错误的信息(没有电子邮件或消息),那么一切似乎都有效。我收到了验证错误。但如果他们连续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');
        }
}

1 个答案:

答案 0 :(得分: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');

  }