Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2011, 15:53
JenderxD
 
Fecha de Ingreso: abril-2011
Mensajes: 52
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Problema Inserccion a base de datos PHP orientado a objetos

Buenas tardes amigos hoy vengo porq tengo un pequeño problema a la hora de hacer la inserccion a la base de datos. no me guarda en la tabla lo que quiero.

Tengo un programa que pide al cliente
COdigo:
Nombre:
Cedula:
Direccion:
Telefono:

Pero no me los guarda. aca dejo el codigo pa ver en q me pueden ayudar.

Código PHP:
<html>

    <head>

         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
        <title> INGRESAR DATOS CLIENTE</title>
        <LINK REL="stylesheet" type="text/css" href="estilo.css" media="all" <div align="center"> <img src="celulares4.png" width="490" height="258" border="0"  >
        <body style="color:#000000;background-color:#ffffff;" >
              <?php
        
include('config.php');
        include 
'cliente.php';
        include 
'classBD.php';

      if(isset(
$_SESSION['usuario'])){ // isset sirve para saber si existe la session.

      
echo "<center>Estas logeado</center>";

      }else{

      print (
"<BR><BR>\n");
      print (
"<P ALIGN='CENTER'>Acceso no autorizado</P>\n");
      print (
"<P ALIGN='CENTER'>[ <A HREF='index.php'>Conectar</A> ]</P>\n");
      }
        
?>

        <script type="text/javascript"  LANGUAGE="JAVASCRIPT">
            function verifica(){
     //validar el codigo
    if (document.funcion.codigo.value==0)
    {
       alert("Debes Ingresar el Codigo Del cliente")
       document.funcion.codigo.focus()
       return 0;
    }
     //validar nombre
    if (document.funcion.nombre.value==0)
    {
       alert("Debes Ingresar Nombre del cliente")
       document.funcion.nombre.focus()
       return 0;
    }
    //validar Direccion
    if (document.funcion.direccion.value==0)
    {
       alert("Debes Ingresar La Direccion Del Cliente")
       document.funcion.direccion.focus()
       return 0;
    }

    //validar Telefono
    if (document.funcion.telefono.value==0)
    {
       alert("Debes Ingresar El Telefono del Cliente")
       document.funcion.telefono.focus()
       return 0;
    }


    //el formulario se envia
    alert("Muchas gracias por enviar el formulario");
    document.funcion.submit();
    document.funcion.opt.value=1;
}



        </script>
    </head>

    <body>       
    
    
  
        <body>


            <center><h1>INGRESO DE DATOS CLIENTE</h1>
        <form method="POST" name="funcion" ACTION="datos_cliente.php"
              onSubmit="return verifica();">

        <H3>DATOS PERSONALES</H3>
        <H4>CODIGO DEL CLIENTE:</H4>
        <input type="text" name="codigo" size="20"><br>
        <FONT COLOR="#FF0000">&nbsp;*CAMPO OBLIGATORIO &nbsp;</FONT><br>
        <H4>NOMBRE COMPLETO:</H4>
        <input type="text" name="nombre" size="20"><br>
        <FONT COLOR="#FF0000">&nbsp;*CAMPO OBLIGATORIO &nbsp;</FONT><br>
        <H4>CEDULA:</H4>
        <input type="text" name="cedula" size="20"><br>
        <FONT COLOR="#FF0000">&nbsp;*CAMPO OBLIGATORIO &nbsp;</FONT><br>
        <H4>DIRECCION DEL CLIENTE:</H4>
        <input type="text" name="direccion" size="20"><br>
        <FONT COLOR="#FF0000">&nbsp;*CAMPO OBLIGATORIO &nbsp;</FONT><br>
        <H4>TELEFONO DEL CLIENTE:</H4>
        <input type="text" name="telefono" size="20"><br>
        <FONT COLOR="#FF0000">&nbsp;*CAMPO OBLIGATORIO &nbsp;</FONT><br>


        </form>
        </center>
        <center>
        <br>
        <BR>
        <tr>
            <td colspan="2">
                <p align="center"><input type="button" value="grabar" name="grabar" onclick="verifica()">
                <p align="center"><input type="reset" name="borrar" value ="Borrar">
            </td>
        </tr>

       </center>
    </head>

    <body>
        <?PHP        

    $grabar 
=$_REQUEST['grabar'];
    
$codigo =$_REQUEST['codigo'];
    
$nombre =$_REQUEST['nombre'];
    
$cedula =$_REQUEST['cedula'];
    
$direccion =$_REQUEST['direccion'];
    
$telefono =$_REQUEST['telefono'];
    if (isset(
$grabar))//SI YA FUE EJECUTADO GRBAR SE VIENE PARA ACA SI NO NO
    
{
        
$insertar = new cliente();
        
$insertar->agregarEmpleado($codigo$nombre$cedula$direccion$telefono);


    }
?>

       
        <a href="salir.php">Desconectar</a>
        </body>
</html>
Aca esta la classBD

Código PHP:
<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of classBD
 *
 * @author carmenu
 */
class classBD {
     
// en esta clase declararemos los metodos de algunas de las funciones de php y mysql
    
private $ssql;
        private 
$usuario;
        private 
$host;
        private 
$database;
        private 
$password;
        private 
$conex;
        private 
$res;
        private 
$data;
        private 
$num;

        function  
__construct($usuario,$host,$database,$pasword)
        {

            
$this->usuario =$usuario;
            
$this->host $host;
            
$this->database $database;
            
$this->password $pasword;
        }

        function 
Conectar()
        {
            
$this->conex mysql_connect($this->host,$this->usuario,$this->password)
                    or die(
"Error 01: Conexión fallida");
            
mysql_select_db($this->database,$this->conex)
                    or die(
"Error 02: Base de datos no encontrada");
        }

    function 
Desconectar()
        {
            
mysql_close($this->conex) or die("Error 03: Desconexión Fallida");
        }

        function 
Query$instruccion )
        {
            
$this->res mysql_query($instruccion,$this->conex)
                    or die(
mysql_error($this->conex)."---".$query);

        }

        function 
NumFilas()
        {
            if(isset(
$this->res))
            {
                
$this->num mysql_num_rows($this->res);
            }
            else die(
"Error 05: No hay Registros cargados");
            return 
$this->num;
        }
        function 
Extraer()
        {
            if(isset(
$this->res))
            {
                
$this->data mysql_fetch_array($this->res);
            }
                else die(
"Error 04: Extracción fallida");
            return 
$this->data;
        }


}
?>

y aca la clase cliente.php

Código PHP:
<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Empleados
 *
 * @author carmenu
 */
class cliente {
    private 
$bd;//PERMITE CONECTAR CON LA BASE DE DATOS
    
private $codigo;
    private 
$nombre;
    private 
$cedula;
    private 
$direccion;
    private 
$telefono;


    function  
__construct($codigo,$nombre,$cedula,$direccion,$telefono) {
        
$this->bd = new classBD("root","localhost","proyecto","");
        
$this->codigo $codigo;
        
$this->nombre $nombre;
        
$this->cedula $cedula;
        
$this->direccion $direccion;
        
$this->telefono $telefono;
    }
    function 
agregarEmpleado($codigo,$nombre,$cedula,$direccion,$telefono){
        
// Conectar a la base de datos
        
$this->bd->Conectar();
        
$this->bd->Query("select * from cliente where codigo ='$codigo'");//PARA INSERTAR HAY QUE SABER SI EXISTE
        
$nf$this->bd->NumFilas();
        if (
$nf==0// VERIFICA SI EL RESULTADO DE LA CONSULTA EXISTE
        
{
            
$this->bd->Query("INSERT INTO cliente
                    (codigo,nombre,cedula,direccion,telefono)
                VALUES ('$codigo','$nombre','$cedula','$direccion','$telefono')"
);

            echo (
"<script language='javascript'>");
            echo (
"alert('Se agrego datos del cliente satisfactoriamente ')");
            echo (
"</script>");
        }
        else {
            echo (
"<script language='javascript'>");
            echo (
"alert('El codigo de empleado '+$codigo+' ya esta registrado ')");
            echo (
"</script>");
        }
        
$this->bd->Desconectar();
    }
    function 
consulta() {
        
$this->bd->Conectar();
        
$this->bd->Query("select * from cliente");
        
$nf $this->bd->NumFilas();
        if (
$nf 0)
        {
            
$x=0;
            while (
$data $this->bd->Extraer())
            {
                
$x++;
                
$salida[$x]['codigo']=$data->codigo;
                
$salida[$x]['nombre']=$data->nombre;
                
$salida[$x]['cedula']=$data->cedula;
                
$salida[$x]['direccion']=$data->direccion;
                
$salida[$x]['telefono']=$data->telefono;
            }

        }
        else
            echo 
"No existen registros ...";
        
$this->bd->Desconectar();
        return 
$salida;
   } 
// fin de la funcion consultar
}
?>
No me guarda en la tabla.. la base de datos se llama repuesto y la tabla se llama cliente. pero nada de nada necesito sus ayudas de paso cuando llamo a la inserccion con

Código PHP:
$grabar =$_REQUEST['grabar'];
    
$codigo =$_REQUEST['codigo'];
    
$nombre =$_REQUEST['nombre'];
    
$cedula =$_REQUEST['cedula'];
    
$direccion =$_REQUEST['direccion'];
    
$telefono =$_REQUEST['telefono'];
    if (isset(
$grabar))//SI YA FUE EJECUTADO GRBAR SE VIENE PARA ACA SI NO NO
    
{
        
$insertar = new cliente();
        
$insertar->agregarEmpleado($codigo$nombre$cedula$direccion$telefono); 
me da es un error de indefinido y nose que hacer :S necesito su gran colaboracion para q me saquen de dudas amigos