Hola! buenas tardes...
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>
Con este otro realizo la conexión a la base de datos [
admin-conexion.php]:
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;
}
}
?>
El siguiente archivo recoge la información del formulario [admin-RegCliente.php]
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();
?>
y por último, este archivo envia la información a la base de datos [RegCliente.php]
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;
}
}
?>
Al pulsar el botón de enviar me marca el siguiente error:
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.