PHP - php poo

 
Vista:
sin imagen de perfil

php poo

Publicado por luciano (1 intervención) el 23/11/2016 09:39:04
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): estoy fijandome un video y desde aca deberia mostrarme los datos de mi base de datos ya en el inicio para seguir, help

1
2
3
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?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>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

php poo

Publicado por Lawliet (351 intervenciones) el 23/11/2016 19:16:44
Hola...

Intenta cambiando la siguiente línea de código...

1
$con = mysql_errno($this->server, $this->usuario, $this->password);

Por esta otra...

1
$con = mysql_connect($this->server, $this->usuario, $this->password);

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de VRM
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

php poo

Publicado por VRM (192 intervenciones) el 24/11/2016 11:05:33
Hola:

En la linea 18 de controlador.php haces referencia a una propiedad (codigo) de la clase controladorproductos que no está definida. Defines producto pero no codigo. Por eso te sale:
1
Notice: Undefined property: controladorproductos::$codigo in C:\xampp\htdocs\controlador.php on line 18

En la misma linea haces referencia a un método ( listar() ) de un objeto nulo (codigo) por eso te sale:
1
Fatal error: Call to a member function listar() on null in C:\xampp\htdocs\controlador.php on line 18

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar