Ошибка 310 (net :: ERR_TOO_MANY_REDIRECTS) - PullRequest
0 голосов
/ 09 августа 2011

почему после использования перенаправления в codeigniter у меня появляется эта ошибка:

Ошибка 310 (net :: ERR_TOO_MANY_REDIRECTS): их было слишком много перенаправляет.

если использовать это: redirect('admin/hotel/insert', 'refresh');, обновить страницу, чтобы она была безостановочной, пакетная. что мне делать?

мои коды (function) в контроллере hotel:

function insert(){
    $this->load->view('admin/hotel_submit_insert');
        $today = jgmdate("j F Y");
        $data = array (
        'name' => $this->input->post('name', TRUE),
        'star' => $this->input->post('star', TRUE),
        'address' => $this->input->post('address', TRUE),
        'number_phone' => $this->input->post('number_phone', TRUE),
        'fax' => $this->input->post('fax', TRUE),
        'site' => $this->input->post('site', TRUE),
        'email' => $this->input->post('email', TRUE),
        'useradmin' => $this->input->post('useradmin', TRUE),
        'date' => $today ,
        );
        $this->db->insert('hotel_submits', $data);
        redirect('admin/hotel/insert'); // after use of this
    }

С уважением

Ответы [ 2 ]

0 голосов
/ 09 августа 2011

Хорошо, вам нужно убедиться, что вставка происходит только один раз.

Итак, вам нужно проверить, доступны ли данные поста, прежде чем запускать редирект. Здесь происходит то, что код продолжает вставлять данные и перенаправлять страницу.

function insert(){

// If you are posting data do the insert
if (isset($this->input->post('name')) && strlen($this->input->post('name')) //just double checking.
{
    $today = jgmdate("j F Y");
    $data = array (
        'name' => $this->input->post('name', TRUE),
        'star' => $this->input->post('star', TRUE),
        'address' => $this->input->post('address', TRUE),
        'number_phone' => $this->input->post('number_phone', TRUE),
        'fax' => $this->input->post('fax', TRUE),
        'site' => $this->input->post('site', TRUE),
        'email' => $this->input->post('email', TRUE),
        'useradmin' => $this->input->post('useradmin', TRUE),
        'date' => $today ,
    );
    if($this->db->insert('hotel_submits', $data))
        redirect('admin/hotel/insert');
}

//And load the view
$this->load->view('admin/hotel_submit_insert');

}

0 голосов
/ 09 августа 2011

Попробуйте сделать это так ...

function insert(){

    // If you are posting data, do the insert
    if ($_POST)
    {
        $today = jgmdate("j F Y");
        $data = array (
            'name' => $this->input->post('name', TRUE),
            'star' => $this->input->post('star', TRUE),
            'address' => $this->input->post('address', TRUE),
            'number_phone' => $this->input->post('number_phone', TRUE),
            'fax' => $this->input->post('fax', TRUE),
            'site' => $this->input->post('site', TRUE),
            'email' => $this->input->post('email', TRUE),
            'useradmin' => $this->input->post('useradmin', TRUE),
            'date' => $today ,
        );
        $this->db->insert('hotel_submits', $data);
    }

    // then load the view no matter what
    $this->load->view('admin/hotel_submit_insert');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...