Tengo una duda con un error que me arroja mi código en PHP, aún me falta comprender bien la POO, supongo que por ello no encuentro la solución. Bueno, la idea es insertar registros en una tabla de una base de datos, les muestro los archivos que realizan esto:
Este es el archivo [admin-form-clientes.php]que muestra la información en pantalla (Vista):
Código PHP:
<!-- Formulario para alta de clientes al sistema -->
<form action="bd/admin-RegCliente.php" method="post" id="formulario-cliente">
<div class="campos-form">
<h1>Datos Generales del Cliente</h1>
<p>
Código <input type="text" name="codigo" id="codigo" size="5%" required=""/>
Nombre <input type="text" name="nombre" id="nombre" size="73%" required="" />
</p>
<p>
Teléfono <input type="tel" name="telefono" id="telefono" size="25%" />
e-mail <input type="email" name="email" id="email" size="53%" />
</p>
<p>
Calle <input type="text" name="calle" id="calle" size="47%" required="" />
No. Int <input type="text" name="int" id="int" size="2%" required="" />
No. Ext <input type="text" name="ext" id="ext" size="2%" required="" />
CP <input type="text" name="cp" id="cp" size="6%" />
</p>
<p>
Colonia <input type="text" name="colonia" id="colonia" size="45%" required="" />
Delegación <input type="text" name="deleg" id="deleg" size="30%" required="" />
</p>
<p>
Estatus <input type="text" name="estatus" id="estatus" size="2%" required="" />
</p>
</div>
<div class="botones-form">
<input type="submit" name="enviar" id="enviar" value="Guardar" onclick="valida();" />
<input type="reset" name="limpiar" id="limpiar" value="Limpiar"/>
</div>
</form>
Código PHP:
<?php
/* Creamos la clase para la conexión a la base de datos*/
class Conexion {
var $bd;
var $serv;
var $user;
var $pass;
var $conexion;
var $Errno = 0;
var $Error = "";
/* Constructor a la BD*/
function ConexionConst() {
$this->bd = "bd_filmoteca";
$this->serv = "localhost";
$this->user = "root";
$this->pass = "";
}
/* Comenzamos con la conexión */
function ConexionBD() {
$this->conexion = mysql_connect($this->serv, $this->user, $this->pass);
/* Si falla no nos podremos conectar*/
if(!$this->conexion) {
$this->Error = "La conexión no pudo ser realizada";
return 0;
}
/* Elegimos bd */
if(!@mysqli_select_db($this->bd, $this->conexion)){
$this->Error = "No se puede abrir la base de datos" . $this->bd;
return 0;
}
/* Si todo sale bien me regresa la conexión */
return $this->conexion;
}
}
?>
Código PHP:
<?php
include_once("RegCliente.php");
$cliente = new RegCliente();
$cliente->setcodigo($_REQUEST['codigo']);
$cliente->setnombre($_REQUEST['nombre']);
$cliente->settelefono($_REQUEST['telefono']);
$cliente->setemail($_REQUEST['email']);
$cliente->setcalle($_REQUEST['calle']);
$cliente->setint($_REQUEST['int']);
$cliente->setext($_REQUEST['ext']);
$cliente->setcp($_REQUEST['cp']);
$cliente->setcolonia($_REQUEST['colonia']);
$cliente->setdelegacion($_REQUEST['deleg']);
$cliente->setestatus($_REQUEST['estatus']);
$regCliente->$cliente->RegClienteBD();
?>
Código PHP:
<?php
include_once('admin-conexion.php');
class RegCliente {
private $codigo;
private $nombre;
private $telefono;
private $email;
private $calle;
private $int;
private $ext;
private $cp;
private $colonia;
private $delegacion;
private $estatus;
function RegClienteBD() {
$regCliente;
try {
$conectar = new Conexion();
$cn->$conectar->ConexionBD();
mysql_query("BEGIN",$cn);
$sql = "INSERT INTO films_clientes VALUES('$this->codigo','$this->nombre',$this->telefono,'$this->email','$this->calle','$this->int','$this->ext',$this->cp,'$this->colonia','$this->delegacion','$this->estatus')";
$result = mysql_query($sql,$cn);
if(!$result){
mysql_query("ROLLBACK",$cn);
$regCliente = FALSE;
} else {
mysql_query("COMMIT",$cn);
$regCliente = TRUE;
}
mysql_close($cn);
} catch (exception $e) {}
return $regCliente;
}
}
?>
Fatal error: Call to undefined method RegCliente::setcodigo() in C:\xampp\htdocs\proyecto_peliculas\bd\admin-RegCliente.php on line 7
Sólo que no identifico el porque de este error, ¿alguien tendrá alguna idea?
Como dato adicional, ya he podido enviar datos a una base mediante programación en PHP, más no en PHP OO, utilizo XAMPP por si les sirve como nota adicional.
De antemano les agradezco sus comentarios.