Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: asspero18 en 23 Noviembre 2016, 09:47 am



Título: poo php carrito
Publicado por: asspero18 en 23 Noviembre 2016, 09:47 am
hola me aparece el siguiente mensaje de error intentando hacer un carrito de compras (que por cierto si tienen forma de ayudarme tirandome tips se los agradeceria): 

Código:
Notice: Undefined property: controladorproductos::$codigo in C:\xampp\htdocs\controlador.php on line 18

Fatal error: Call to a member function listar() on null in C:\xampp\htdocs\controlador.php on line 18


mis codigos:

conexion
Código:
<?php

class conexion{

     //Atributos

private $server;
private $usuario;
private $password;
private $bd;


//Metodo

public function __construct(){
          $this->server = "localhost";
          $this->usuario = "root";
          $this->password = "";
          $this->bd = "carro_productos";

          $con = mysql_errno($this->server, $this->usuario, $this->password);
          if ($con)
          mysql_select_db($this->bs, $con);
         

}

   public function consultaSimple($sql){
    $consulta = mysql_query($sql);
   }
     
      public function consultaRetorno($sql){
     
      }


   }




?>

productos
Código:
<?php

       include_once("conexion.php");
       include_once("carrito.php");
       include_once("controlador.php");
       include_once("enrutador.php");
       include_once("index.php");
       include_once("inicio.php");
       




       class productos{

        private $codigo;
        private $producto;
        private $descripcion;
        private $precio;

        private $con;

       }

?>

controlador

Código:
<?php

       
       include_once("productos.php");
     
       



       class controladorproductos{
         private $producto;

         public function __construct(){
           $this->productos = new productos();   
         }

         public function index(){
            $resultado = $this->codigo->listar();
            return $resultado;
         }
         public function eliminar($codigo){
            $this->producto->set("codigo", $codigo);
            $this->producto->eliminar();
         }
         public function ver($codigo){
            $this->producto->set("codigo", $codigo);
            $this->producto->ver();
         }

       }
?>

enrutador

Código:
<?php
include_once("conexion.php");
       include_once("carrito.php");
       include_once("controlador.php");
       include_once("enrutador.php");
       include_once("index.php");
       include_once("inicio.php");
       

class enrutador{
   public function vista($vista){
      switch ($vista):
         case 'añadir':
            include_once($vista . '.php');
            break;
         
        endswitch;
     
   }

  public function validarGET($var){
if(empty($var)){
   include_once('inicio.php');
}else{
   return true;
}
  }


    }


?>

index
Código:
<?php
        include_once("conexion.php");
       include_once("carrito.php");
       include_once("controlador.php");
       include_once("enrutador.php");
       include_once("index.php");
       include_once("inicio.php");
       


?>

<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8"/>
   <title>Carrito</title>
</head>
<body>
     <h1>
        Carrito
     </h1>

     <section>
     <?php
      $enrutador = new enrutador();
      if($enrutador->validarGET($_GET['añadir'])){
        $enrutador->vista($_GET['añadir']);
      }
     
      ?>     
     </section>
</body>
</html>

inicio
Código:
<?php 
       include_once("conexion.php");
       include_once("carrito.php");
       
       include_once("enrutador.php");
       include_once("index.php");
       include_once("inicio.php");
       

       include_once("controlador.php");

       $controlador = new controladorproductos();
       $resultado = $controlador->index();
?>
<h3>pagina</h3>
<table>
<thead>
<th>codigo</th>
<th>producto</th>
<th>descripción</th>
<th>precio</th>
<th>acción</th>
</thead>
<tbody>
<?php while ($row = mysql_fetch_array($resultado)): ?>

<tr>
<td><?php echo $row['codigo']; ?></td>
<td><?php echo $row['producto']; ?></td>
<td><?php echo $row['descripción']; ?></td>
<td><?php echo $row['precio']; ?></td>
</tr>
<?php endwhile; ?>
</tbody>
</table>



Título: Re: poo php carrito
Publicado por: engel lex en 23 Noviembre 2016, 10:06 am
el error es simple

Citar
Notice: Undefined property: controladorproductos::$codigo in C:\xampp\htdocs\controlador.php on line 18

Fatal error: Call to a member function listar() on null in C:\xampp\htdocs\controlador.php on line 18

Código
  1. <?php
  2.  
  3.  
  4.       include_once("productos.php");
  5.  
  6.  
  7.  
  8.  
  9.  
  10.       class controladorproductos{
  11.         private $producto;
  12.  
  13.         public function __construct(){
  14.           $this->productos = new productos();  
  15.         }
  16.  
  17.         public function index(){
  18.            $resultado = $this->codigo->listar();
  19.            return $resultado;
  20.         }
  21.         public function eliminar($codigo){
  22.            $this->producto->set("codigo", $codigo);
  23.            $this->producto->eliminar();
  24.         }
  25.         public function ver($codigo){
  26.            $this->producto->set("codigo", $codigo);
  27.            $this->producto->ver();
  28.         }
  29.  
  30.       }
  31. ?>

en la linea 18 estás llamando a un método no definido... nunca definiste "codigo" por ende no definiste "listar()" dentro de el

No hagas doble post, el otro tema fue borrado


Título: Re: poo php carrito
Publicado por: asspero18 en 23 Noviembre 2016, 10:09 am
el error es simple

Código
  1. <?php
  2.  
  3.  
  4.       include_once("productos.php");
  5.  
  6.  
  7.  
  8.  
  9.  
  10.       class controladorproductos{
  11.         private $producto;
  12.  
  13.         public function __construct(){
  14.           $this->productos = new productos();  
  15.         }
  16.  
  17.         public function index(){
  18.            $resultado = $this->codigo->listar();
  19.            return $resultado;
  20.         }
  21.         public function eliminar($codigo){
  22.            $this->producto->set("codigo", $codigo);
  23.            $this->producto->eliminar();
  24.         }
  25.         public function ver($codigo){
  26.            $this->producto->set("codigo", $codigo);
  27.            $this->producto->ver();
  28.         }
  29.  
  30.       }
  31. ?>

en la linea 18 estás llamando a un método no definido... nunca definiste "codigo" por ende no definiste "listar()" dentro de el

No hagas doble post, el otro tema fue borrado


lo siento por el doble post, que me recomendas poner entonces?


Título: Re: poo php carrito
Publicado por: engel lex en 23 Noviembre 2016, 10:22 am
tu eres quien estás programando y decides que es lo que va  :silbar:...

tienes que hacer "codigo" y darle la propiedad "listar()"... o borrar esa linea y olvidarte de eso...