Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/04/2011, 13:05
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años
Puntos: 43
Respuesta: Problema con redirect y form_validator

mmm te dejo un ejemplo de un controlador y la vista que use para una aplicacion web a lo mejor te sirve
controlador:
Código PHP:
Ver original
  1. function form_users($id='') {
  2.  
  3.         $user= array();
  4.         $error='';
  5.         if($this->input->post('action')) {
  6.         $rules['email']       = "required|valid_email";
  7.         $rules['password']    = "required";
  8.         $rules['username']    = "required";
  9.  
  10.         $this->validation->set_rules($rules);
  11.  
  12.         $fields['email']       = "Email";
  13.         $fields['password']    = "Password";
  14.         $fields['username']    = "Username";
  15.  
  16.         $this->validation->set_fields($fields);
  17.  
  18.         $this->validation->set_error_delimiters('<p class="error">', '</p>');
  19.  
  20.         if ($this->validation->run()) {
  21.  
  22.             if($this->input->post('id')=='') {
  23.             //insert registered user
  24.             $this->redux_auth->email_activation = false;
  25.             $this->redux_auth->default_group = 2;
  26.             //$psw = $this->randomText(5);
  27.             $redux = $this->redux_auth->register
  28.                 (
  29.                 $this->input->post('username'),
  30.                 $this->input->post('password'),
  31.                 $this->input->post('email'),
  32.                 'mvrelocations',
  33.                 'users'
  34.             );
  35.             if($redux) {
  36.                 $error = "Los datos se guardaron correctamente<bbr/>";
  37.             }
  38.             else {
  39.                 $error = "Los datos no se guardaron correctamente<bbr/>";
  40.             }
  41.             }
  42.             else {
  43.             $user = $this->admin_model->getUser($this->input->post('id'));
  44.             $pass = sha1($user[0]->hash.$_POST['password']);
  45.             $_POST['password'] = $pass;
  46.             unset($_POST['action']);
  47.             unset($_POST['enviar']);
  48.  
  49.             $id = $this->admin_model->saveUser($_POST);
  50.             if($id=='') {
  51.                 $error = "Los datos se guardaron correctamente<bbr/>";
  52.             }
  53.             else {
  54.                 $error = "Los datos no se guardaron correctamente<bbr/>";
  55.             }
  56.             }
  57.         }
  58.         else {
  59.             $error = $this->validation->error_string;
  60.         }
  61.         }
  62.         else {
  63.         $user = $this->admin_model->getUser($id);
  64.         }
  65.  
  66.         $data = array(
  67.             'list_users' => $this->admin_model->list_users(),
  68.             'pst_data' => $user,
  69.             'error' => $error,
  70.         );
  71.         $this->template->write_view('content', 'manager/form_users', $data);
  72.         $this->template->render();
  73.     }

vista:
Código HTML:
Ver original
  1. function borrarUser(id){
  2.     if(confirm('Desea eliminar este registro?')){
  3.     window.location=siteURL+"manager/delete_user/"+id;
  4.     }
  5. }
  6. <table summary="Submitted table designs">
  7.     <caption>Table designs</caption>
  8.     <thead>
  9.     <tr>
  10.             <th scope="col">Id Usuario</th>
  11.             <th scope="col">Nombre</th>
  12.             <th scope="col">E-mail</th>
  13.             <th scope="col">Edici&oacute;n</th>
  14.         <th scope="col">&nbsp;</th>
  15.     </tr>
  16.     </thead>
  17.     <tbody>
  18.     <?
  19.        foreach($list_users as $l):
  20.            ?>
  21.             <tr>
  22.                 <td><?=$l->id?></td>
  23.                 <td><?=$l->username?></td>
  24.                 <td><?=$l->email?></td>
  25.                 <td><a href="<?=base_url()?>manager/form_users/<?=$l->id?>">Edit</a></td>
  26.         <td><a class="borrar" href="javascript:;" onclick="borrarUser(<?=$l->id?>)">Borrar</a></td>
  27.             </tr>
  28.             <?
  29.        endforeach;
  30.        ?>
  31.     </tbody>
  32.  
  33. <?php echo $error;?>
  34. <?php echo form_open('manager/form_users'); ?>
  35.  
  36.     <h3>INGRESO DE USUARIOS</h3>
  37.     <p>
  38.     <label>Nombre de usuario</label>
  39.     <?php echo form_input(array( 'name' => 'username','id'=> 'username','value' => set_value('username', @$pst_data[0]->username))); ?>
  40.     </p>
  41.  
  42.     <p>
  43.     <label>Contrase&ntilde;a </label>
  44.     <?php echo form_input(array( 'name' => 'password', 'id' => 'password')); ?>
  45.     </p>
  46.  
  47.     <p>
  48.     <label>E-mail</label>
  49.     <?php echo form_input(array( 'name' => 'email', 'id' => 'email','value' => set_value('email', @$pst_data[0]->email))); ?>
  50.     </p>
  51.  
  52.    
  53.     <?php echo form_hidden('action', 'ok'); ?>
  54.     <?php echo form_hidden('id', @$pst_data[0]->id); ?>
  55.     <?php echo form_submit('enviar', 'Enviar', 'class="button"') ?>
  56.  
  57.  
  58. <?php echo form_close(); ?>