Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2011, 09:35
Avatar de Xirant
Xirant
 
Fecha de Ingreso: noviembre-2010
Mensajes: 21
Antigüedad: 13 años, 5 meses
Puntos: 0
Principiante en Code

Hola a tod@s,

Estoy empezando a romperme la cabeza con el Codeigniter, de momento iba todo más o menos bien, pero he llegado a un 'problema' que seguro que es una tontería pero que no veo donde xxxx está el lío.

Tengo un formulario de registro típico de ingresar nombre / dirección / cp / email / contrasenya. He conseguido ya que salte si el email está repetido dentro de la base de datos, todo bien, pero no consigo que al rellenar el formulario perfectamente se ingresen los datos

Así es como tengo el controlador :

Código PHP:
 public function addform()
    {  
        
$this->load->helper(array('form''url'));
        
$this->load->library('form_validation');


        
$this->form_validation->set_rules('nombre''Nombre''trim|required');
        
$this->form_validation->set_rules('direccion''Dirección''trim|required');
        
$this->form_validation->set_rules('cp''Código Postal''trim|required|exact_length[5]|numeric');
        
$this->form_validation->set_rules('email''Email''trim|required|valid_email|xss_clean|callback__comprobar_email_repetido');
        
$this->form_validation->set_rules('contrasenya''Contraseña''trim|required|min_length[5]|max_length[10]|matches[recontrasenya]|sha1');
        
$this->form_validation->set_rules('recontrasenya''Confirme contraseña''trim|required');

        
$this->load->view('miscelanea/cabecera_pagina.php');
        

        if (
$this->form_validation->run() === TRUE)
        {
            
$nombre $this->input->post('nombre');
            
$direccion $this->input->post('direccion');
            
$cp $this->input->post('cp');
            
$email $this->input->post('email');
            
$contrasenya $this->input->post('contrasenya');
            
$this->load->view('usuarios/formsuccess');
        }
        else
        {
            
$this->load->view('usuarios/addform');
        }


         
$usuario = array (

            
'nombre'=>$this->input->post('nombre'),
            
'direccion'=>$this->input->post('direccion'),
            
'cp'=>$this->input->post('cp'),
            
'email'=>$this->input->post('email'),
            
'contrasenya'=>$this->input->post('contrasenya')

        );
          
          
            if(
$this->form_validation->run() === TRUE){
            
$this->Usuario_model->create($usuario);
        }

    } 

Y este el modelo:

Código PHP:
public function create($usuario)
    
    {
        
        
// Produce: INSERT INTO usuarios VALUES ('{$usuario}')

         
$this->db->set($usuario);
         
$this->db->insert('usuarios');
    } 

Por lo que he leído (espero no meter mucha gamba en esto, un PERDÓN por delante si es así), se recogen los datos en un array asociativo y se pasan, pero no sé porqué no se insertan.

Muchas gracias por delante.