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=".DB, USER, PASSWORD);
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");
}
}