Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2016, 09:26
gerosamore
 
Fecha de Ingreso: noviembre-2014
Mensajes: 13
Antigüedad: 9 años, 5 meses
Puntos: 0
Catchable fatal error: Object of class Usuarios could not be converted to string

Hola amigos! estoy desarrollando un framework propio solo para probarme y saber de que estoy hecho.
Hice la conexión a la base de datos sin problemas y el modelo con sus correspondientes getters and setter. Cuando en el controlador llamo al metodo de la clase que envia los datos del usuario a la base de datos, me tira el siguiente error:

Catchable fatal error: Object of class Usuarios could not be converted to string in C:\Users\HP\Dropbox\Backup\Anonimo\src\sistemaUsua rioBundle\model\usuariosModel.php on line 78

Es bastante evidente que me esta diciendo que no toma los atributos como strings y es por eso que no me deja concatenarlo en la consulta. Les dejo mi código a ver si me pueden ayudar, desde ya gracias.

conexion.php

Código PHP:
<?php

include CONFIG."config.php";

class 
conexion{

    public static function 
conectar(){
        try{
            
$cn = new PDO("mysql:host=".HOST.";dbname=".DBUSERPASSWORD);
            return 
$cn;
        }

        catch(
PDOExceptiom $ex){
            
            return 
MENSAJES."error/errorConexion.php";
        }
    }

}
usuariosModel.php // en este archivo esta el error cuando concateno en la consulta

Código PHP:
<?php

    
class Usuarios extends conexion{

        private 
$id;
        private 
$usuario;
        private 
$password;
        private 
$email;
        private 
$nacimiento;
        private 
$registro;
        private 
$estado;
        const 
TABLA 'usuarios';

        public function 
getId(){
            return 
$this->id;
        }

        public function 
getUsuario(){
            return 
$this->usuario;
        }

        public function 
setUsuario($usuario){
            
$this->usuario $usuario;
            return;
        }

        public function 
getPassword(){
            return 
$this->password;
        }

        public function 
setPassword($password){
            
$this->password crypt($password"$2x$07$./f4af7kJi1jdaxlswE34$");
            return;
        }

        public function 
getEmail(){
            return 
$this->email;
        }

        public function 
setEmail($email){
            
$this->email $email;
            return;
        }

        public function 
getNacimiento(){
            return 
$this->nacimiento;
        }

        public function 
setNacimiento($nacimiento){
            
$this->nacimiento $nacimiento;
            return;
        }

        public function 
getRegistro(){
            return 
$this->registro;
        }

        public function 
setRegistro(){
            
$this->registro date('Y-m-d');
            return;
        }

        public function 
getEstado(){
            return 
$this->estado;
        }

        public function 
setEstado($estado){
            
$this->estado $estado;
            return;
        }


        
// funciones utiles

        
public function crearUsuario(){
            
$this->setEstado(false);
            
$this->setRegistro();
            echo 
$this->usuario;
// ACA ESTA EL ERROR
            
$sql "INSERT INTO "self::TABLA ." (usuario, password, email, nacimiento, registro, estado) VALUES ('".$this->usuario."',
             '"
.$this->password."', '".$this->email."', '".$this->nacimiento."', '".$this->registro."', '".$this->estado."')";
            
            
$resultado $this->database->query($sql);

            if(
$resultado){
                return;
            }

            else{
                
VISTA::crear(MENSAJES."error/errorEnvioDeDatos.php");
            }

        }
usuariosController.php

Código PHP:
<?php 
    
    
include USUARIOS_BUNDLE."model/usuariosModel.php";

    class 
usuariosController{

        public function 
registro(){
            
$metodo $_SERVER['REQUEST_METHOD'];

            if(
$metodo == 'POST'){
                
$usuario $_POST['usuario'];
                
$email $_POST['email'];
                
$date $_POST['date'];
                
$password $_POST['password'];
                
$password2 $_POST['password2'];

                if(
$password == $password2){
                    
$usuario = new usuarios();
                    
$usuario->setUsuario($usuario);
                    
$usuario->setEmail($email);
                    
$usuario->setNacimiento($date);
                    
$usuario->setPassword($password);
                    
$usuario->crearUsuario();
                    return 
Vista::crear(MENSAJES."exito/procesadoConExito.php");
                }
                
                
$error "Los datos son incorrectos.";
                return 
Vista::crear(USUARIOS_BUNDLE."views/registro/registro.php""error"$error);
                
            }
            return 
Vista::crear(USUARIOS_BUNDLE."views/registro/registro.php");

        }

    }