Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

porqué me sale este error en php (actualizar)

Estas en el tema de porqué me sale este error en php (actualizar) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Quiero que al introducir datos pueda acceder y actualizar los datos de mi formulario pero me sale el siguiente error:Notice: Undefined variable: cedulaCliente in C:\wamp\www\poo\controlador\cliente.php ...
  #1 (permalink)  
Antiguo 14/07/2011, 06:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
porqué me sale este error en php (actualizar)

Quiero que al introducir datos pueda acceder y actualizar los datos de mi formulario pero me sale el siguiente error:Notice: Undefined variable: cedulaCliente in C:\wamp\www\poo\controlador\cliente.php on line 54

Estoy aprendiendo php orientado a objetos con modelo vista y controlador. Estos son los archivos:

vista:
<form id="form1" name="form1" method="post" action="../modelo/cliente.php">
<table width="383" border="0" align="center">
<tr>
<td width="230" height="42"><p>C.I./R.I.F.:</p></td>
<td width="218"><label for="cedulaCliente"></label>
<input type="text" name="cedulaCliente" id="cedulaCliente" /></td>
</tr>
<tr>
<td height="47"><p>RAZÓN SOCIAL:</p></td>
<td><input type="text" name="nombreCliente" id="nombreCliente" /></td>
</tr>
<tr>
<td height="43"><p>DOMICILIO:</p></td>
<td><input type="text" name="direccionCliente" id="direccionCliente" /></td>
</tr>
<tr>
<td><input type="submit" name="enviar" value="agregar"></td>
<td><input type="reset" value="cancelar"></td>
<td><input type="submit" value="salir" onclick="jascript:window.close()"></td>
<td><input type="submit" name="editar" value="editar"></td>

</tr>
</table>
</form>

modelo:
<?PHP
include("../controlador/cliente.php");
if (isset($_POST['enviar'])) {
$cedulaCliente = $_POST['cedulaCliente'];
$nombreCliente = $_POST['nombreCliente'];
$direccionCliente = $_POST['direccionCliente'];

$cliente = new Cliente();
$cliente->set_cedulaCliente($cedulaCliente);
$cliente->set_nombreCliente($nombreCliente);
$cliente->set_direccionCliente($direccionCliente);

$cliente->RegistrarCliente();
}

if (isset($_POST['editar'])) {
$cedulaCliente = $_POST['cedulaCliente'];
$nombreCliente = $_POST['nombreCliente'];
$direccionCliente = $_POST['direccionCliente'];

$cliente = new Cliente();
$cliente->set_cedulaCliente($cedulaCliente);
$cliente->set_nombreCliente($nombreCliente);
$cliente->set_direccionCliente($direccionCliente);

$cliente->ActualizarCliente();
}
?>

controlador:
<?PHP
include("baseDeDatos.php");

class Cliente {
private $cedulaCliente;
private $nombreCliente;
private $direccionCliente;

function _construct($cedulaCliente,$nombreCliente,$direccio nCliente)
{
$this->cedulaCliente = $cedulaCliente;
$this->nombreCliente = $nombreCliente;
$this->direccionCliente = $direccionCliente;
}

function set_cedulaCliente($valor){
$this->cedulaCliente = $valor;
}
function get_cedulaCliente(){
return $this->cedulaCliente;
}
function set_nombreCliente($valor){
$this->nombreCliente = $valor;
}
function get_nombreCliente(){
return $this->nombreCliente;
}
function set_direccionCliente($valor){
$this->direccionCliente = $valor;
}
function get_direccionCliente(){
return $this->direccionCliente;
}
function RegistrarCliente(){
$conexion = new BaseDeDatos();
$cliente = "INSERT INTO cliente VALUES ('$this->cedulaCliente','$this->nombreCliente','$this->direccionCliente');";
$validar = $conexion->Registrar($cliente);
return $validar;
}
function ConsultarCliente($cedulaCliente){
$conexion = new BaseDeDatos();
$cliente = "SELECT * FROM cliente WHERE cedulaCliente ='$cedulaCliente';";
$cliente = $conexion->Consultar($cliente);
return $cliente;
}
function Clientes(){
$conexion = new BaseDeDatos();
$cliente = "SELECT * FROM cliente;";
$cliente = $conexion->Consultar($cliente);
return $cliente;
}
function ActualizarCliente(){
$conexion = new BaseDeDatos($cliente);
$cliente = "UPDATE cliente SET nombreCliente='$this->nombreCliente',direccionCliente='$this->direccionCliente', WHERE cedulaCliente='$cedulaCliente';";
$validar = $conexion->Registrar($cliente);
return $validar;
}

function EliminarCliente($cliente){
$conexion = new BaseDeDatos();
$sql = "DELETE FROM cliente WHERE cedulaCliente='$cliente';";
$eliminacion = $conexion->Registrar($cliente);
return $eliminacion;
}
/* function Factura(){
$conexion = new BaseDeDatos();
$sql ="SELECT LAST_INSERT_ID() as idFactura FROM factura;");*/


}

Las funciones estan hechas pero ahorita estoy probando una por una, la de registro si me funciona y la de actualizar no.
Si pueden se los agradecería de ayudarme.
  #2 (permalink)  
Antiguo 14/07/2011, 07:09
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: porqué me sale este error en php (actualizar)

Cita:
<form id="form1" name="form1" method="post" action="../modelo/cliente.php">
Primera cosa: LA VISTA NO SE COMUNICA CON EL MODELO (!)

Como pasas los datos a la vista ? no tengo tiempo de analizar tu codigo pero pasan via array (ej: $data['cedulacliente']) y se convierten en variables ordinarias (ej: $cedulacliente)

Cita:
Undefined variable: cedulaCliente
__________________
Salu2!
  #3 (permalink)  
Antiguo 14/07/2011, 07:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: porqué me sale este error en php (actualizar)

Creo el problema es tu constructor:
Código PHP:
Ver original
  1. function _construct($cedulaCliente,$nombreCliente,$direccio nCliente)
  2. {
  3. $this->cedulaCliente = $cedulaCliente;
  4. $this->nombreCliente = $nombreCliente;
  5. $this->direccionCliente = $direccionCliente;
  6. }

A la hora de hacer un new Cliente() este espera 3 variables, las cuales no defines, deberías de hacer algo así:
Código PHP:
Ver original
  1. function _construct($cedulaCliente = null, $nombreCliente = null,$direccionCliente = null)
  2. {
  3. $this->cedulaCliente = $cedulaCliente;
  4. $this->nombreCliente = $nombreCliente;
  5. $this->direccionCliente = $direccionCliente;
  6. }

Saludos.
  #4 (permalink)  
Antiguo 14/07/2011, 07:40
 
Fecha de Ingreso: febrero-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: porqué me sale este error en php (actualizar)

gracias lo voy a intentar
  #5 (permalink)  
Antiguo 14/07/2011, 07:47
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: porqué me sale este error en php (actualizar)

Perdon que insista pero estas confundiendo las tareas de Controller y Model

Cita:
include("../controlador/cliente.php");
if (isset($_POST['enviar'])) {
El modelo NO deberia usar variables $_POST[] sino que estas llegan al controller quien las envia al Modelo que solo se dedica a tareas de base de datos.

Ademas...

- La vista NO carga el Modelo.
- El Modelo NO carga controladores.
__________________
Salu2!
  #6 (permalink)  
Antiguo 14/07/2011, 09:35
 
Fecha de Ingreso: febrero-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: porqué me sale este error en php (actualizar)

ok bueno voy a intentar como tu dices
  #7 (permalink)  
Antiguo 14/07/2011, 09:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: porqué me sale este error en php (actualizar)

en realidad no entiendo bien.. entonces cómo se conectan las páginas si no es así??
  #8 (permalink)  
Antiguo 14/07/2011, 09:47
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: porqué me sale este error en php (actualizar)

Cita:
Iniciado por lizz17_87 Ver Mensaje
en realidad no entiendo bien.. entonces cómo se conectan las páginas si no es así??
Te cuento como implementa MVC el framework CI, ok ?

- El controlador carga el modelo (si lo necesita), trayendo datos y actualizando (de ser necesario)
- El controlador carga la(s) vista(s)

Podes leer sobre MVC en Wikipedia
__________________
Salu2!
  #9 (permalink)  
Antiguo 14/07/2011, 09:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 38
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: porqué me sale este error en php (actualizar)

ok leere para entender mejor
  #10 (permalink)  
Antiguo 14/07/2011, 11:25
Avatar de pablofmorales  
Fecha de Ingreso: abril-2008
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 222
Antigüedad: 16 años, 1 mes
Puntos: 37
Respuesta: porqué me sale este error en php (actualizar)

Cita:
Iniciado por Italico76 Ver Mensaje
Perdon que insista pero estas confundiendo las tareas de Controller y Model



El modelo NO deberia usar variables $_POST[] sino que estas llegan al controller quien las envia al Modelo que solo se dedica a tareas de base de datos.

Ademas...

- La vista NO carga el Modelo.
- El Modelo NO carga controladores.

La vista puede traer datos del modelo. Para que quede mas prolijoo se usan los helpers pero si se puede.
__________________
blog

Etiquetas: php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.