2014-02-19 6 views
0

По какой-то причине им не удалось получить доступ к $ id, когда я пытаюсь перенаправить после отправки моей формы. Я могу получить доступ к $ id вне оператора if, но, похоже, я получаю перенаправление с пустым значением $ id. Любое предложение?

function edit_user($id = NULL){ 

    if(!$id) 
    { 
     show_404();    
    } 

    if($this->input->post('submit')) 
    { 
     $this->form_validation->set_rules('username','Nombre de usuario','required'); 
     $this->form_validation->set_rules('password','Contraseña','required'); 
     $this->form_validation->set_rules('checkpassword','Reingrese contraseña','required|matches[password]');   

     $this->form_validation->set_message('required','El Campo %s es obligatorio'); 
     $this->form_validation->set_message('matches','Las contraseñas ingresadas no coinciden'); 

     if($this->form_validation->run() != FALSE){ 

     $this->Users_model->edit_users(); 
     $mensaje = "Usuario editado correctamente"; 

     redirect(base_url().'users/edit_user/'.$id, 301); 

     } 
     else 
     { 

      redirect(base_url().'users/edit_user/'.$id, 301); 

     } 

    } 

    $query = $this->Users_model->getuserid($id); 

     if($query == false){ 

      $data = array('title'=>'Admin ::LxFPanamá::', 
             'content'=>'users/add_users_view', 
          'id'=>$id); 
      }else{ 

       $data = array('title'=>'Admin ::LxFPanamá::', 
          'content'=>'users/edit_users_view', 
          'id'=> $query->id, 
          'login'=> $query->login, 
          'password'=> $query->password); 
      } 

    $this->load->view('themes/'.$this->config->item('theme_front').'.php', $data); 
} 
+0

Вы положительны вы получаете '$ id' вне КРП? Что вы сделали, чтобы проверить это? –

+0

Просто обратите внимание, что если вы используете последнюю версию CI и не изменили функцию перенаправления, 301 в ваших переадресациях должен быть третьим параметром, а не вторым. – Samutz

+0

if i print $ id делает echo $ id; вне утверждения он работает –

ответ

0

Попробуйте использовать flashdata

$this->session->set_flashdata('item',$i); 
redirect(base_url().'users/edit_user','refresh',301); 

, чтобы получить значение обратно

$this->session->flashdata('item'); 
Смежные вопросы