No me reconoce variable POO
Publicado por Giuliano (74 intervenciones) el 18/11/2013 07:04:13
Tengo este codigo para obtener una lista de empleados, mediante el metodo getAll, de la clase empleado, en el archibo empleados.php que esta mas abajo. Este es el codigo de las lista, y obtengo el siguiente error:
Notice: Undefined variable: id in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: ape in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: leg in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: nom in C:\xampp\htdocs\sge\empleado\lista.php on line 10
osea que no me reconoce las variables que paso a $oempleado, que provienen del metodo constructor
empleado.php
la verdad no se de que me estoy olvidando, por las dudas les dejo el archivo BasesDeDatos.php, que es el que hace la conexion:
En la misma ventana del navegador que obvtuve los problemas anteriores tengo este problema
Fatal error: Call to undefined method empleado::_verificarSiHayError() in C:\xampp\htdocs\sge\includes\php\BaseDeDatos.php on line 195.- No se porque no reconoce a VerificarSiHayError.
Les agradeceria su ayuda.
Saludos
Notice: Undefined variable: id in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: ape in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: leg in C:\xampp\htdocs\sge\empleado\lista.php on line 10
Notice: Undefined variable: nom in C:\xampp\htdocs\sge\empleado\lista.php on line 10
osea que no me reconoce las variables que paso a $oempleado, que provienen del metodo constructor
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
// Incluyo la clase de base de datos
require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/BaseDeDatos.php';
// Incluyo la clase de empleado
require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/empleado/includes/Empleado.php';
// Creo el objeto para luego obtener todos los empleados
$oEmpleado = new empleado($id,$ape,$leg,$nom);
// Obtengo el array con todos los objetos de empleado
$aItems = $oEmpleado->getAll();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SGE | Lista de Empleados</title>
<link rel="stylesheet" type="text/css" href="/sge/includes/css/style.css" />
</head>
<body>
<div class="wrapper">
<div class="background"></div>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/header.php';?>
<div class="main">
<div class="buttons">
<button type="button" onclick="document.location = '/sge/empleado/agregar.php'">Agregar Empleado</button>
</div>
<table>
<tr>
<th>ID</th>
<th>APELLIDO</th>
<th>NOMBRE</th>
<th>LEGAJO</th>
<th colspan="2"> </th>
</tr>
<?php if ( count( $aItems ) == 0 ) { ?>
<tr>
<td colspan="6">No se han encontrado resultados</td>
</tr>
<?php } else { foreach ( $aItems as $item ) { ?>
<tr>
<td><?php echo $item->getIdEmpleado(); ?></td>
<td><?php echo $item->getApellido(); ?></td>
<td><?php echo $item->getNombre(); ?></td>
<td><?php echo $item->getLegajo(); ?></td>
<td><a class="icon ver" title="Ver/Editar" href="/sge/empleado/empleado.php?id=<?php echo $item->getIdEmpleado(); ?>"></a></td>
<td><a class="icon eliminar" title="Eliminar" href="/sge/empleado/confirmar_eliminar.php?id=<?php echo $item->getIdEmpleado(); ?>"></a></td>
</tr>
<?php } } ?>
</table>
<div class="buttons">
<button type="button" onclick="document.location = '/sge/aplicaciones'">Aplicaciones</button>
</div>
</div>
</div>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/footer.php';?>
</body>
</html>
empleado.php
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
// Incluyo la clase de base de datos
require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/BaseDeDatos.php';
// Incluyo la clase de empleado
require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/empleado/includes/Empleado.php';
// Creo el objeto para luego cargar los datos
$oEmpleado = new Empleado();
// Verifico que el id esté seteado
if ( isset( $_GET['id'] ) == false || $_GET['id'] < 1 )
{
header("location: lista.php");
}
// Cargo la información del empleado
$oEmpleado->buscar($_GET['id']);
// Verifico que exista el empleado
if ( $oEmpleado->getIdEmpleado() < 1 )
{
header("location: lista.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SGE | Información de Empleado</title>
<link rel="stylesheet" type="text/css" href="/sge/includes/css/style.css" />
</head>
<body>
<div class="wrapper">
<div class="background"></div>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/header.php';?>
<div class="main">
<div class="formulario">
<form action="/sge/empleado/guardar.php" method="post">
<input type="hidden" name="idEmpleado" value="<?php echo $oEmpleado->getIdEmpleado(); ?>"/>
<label for="apellido">Apellido:</label>
<input type="text" name="apellido" value="<?php echo $oEmpleado->getApellido(); ?>" placeholder="Ingrese el Apellido..."/>
<label for="nombre">Nombre:</label>
<input type="text" name="nombre" value="<?php echo $oEmpleado->getNombre(); ?>" placeholder="Ingrese el Nombre..."/>
<label for="legajo">Legajo:</label>
<input type="text" name="legajo" value="<?php echo $oEmpleado->getLegajo()?>" placeholder="Ingrese el N° de Legajo..."/>
<div class="buttons">
<button type="submit">Guardar</button>
<button type="button" onclick="window.history.back();">Cancelar</button>
</div>
</form>
</div>
</div>
</div>
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/footer.php';?>
</body>
</html>
la verdad no se de que me estoy olvidando, por las dudas les dejo el archivo BasesDeDatos.php, que es el que hace la 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?php
/**
* Clase que administra las conexiones a la base de datos
*
* @author emmanuel
*/
class BaseDeDatos
{
/**
* Host de conexión al servido MySQL
*
* @var string
*/
const HOST = '127.0.0.1';
/**
* Usuario para el servidor MySQL
*
* @var string
*/
const USER = 'root';
/**
* Contraseña para el servidor MySQL
*
* @var string
*/
const PASS = '';
/**
* Base de Datos con la que trabajaremos
*
* @var string
*/
const DB = 'sge';
/**
* Atributo estático que contiene la conexión a la base de datos
*
* @var resource
*/
private static $_conexion;
/**
* Resource de la última consulta hecha
*
* @var resource
*/
private $_consulta;
/**
* Error de MySQL
*
* @var string
*/
private $_error;
/**
* Cuando se crea el objeto verifica que no se haya conectado
*
* @param string $host Nombre de host
* @param string $user Nombre de usuario
* @param string $pass Contraseña para el usuario
* @param string $db Base de datos con la que trabajaremos
* @return BaseDeDatos
*/
public function __construct($host = self::HOST, $user = self::USER, $pass = self::PASS, $db = self::DB)
{
// Verificamos si no hay una conexión anterior
if ( self::$_conexion == null )
{
// Nos conectamos a MySQL
$conexion = mysql_connect($host, $user, $pass);
// Verificamos que no hay error en la conexión
if ( $this->_verificarSiHayError($conexion) == false )
{
// Seleccionamos la base de datos
mysql_select_db($db, $conexion);
}
// Verificamos que no haya error al seleccionar la base de datos
if ( $this->_verificarSiHayError($conexion) == false )
{
// Si no hubo ningún problema establecemos la conexión en el atributo estático
self::$_conexion = $conexion;
}
}
}
/**
* Verifica si hay un error en la última ejecución de MySQL y formatea el error en el atributo $_error
*
* @param resource $conexion
* @return boolean
*/
private function _verificarSiHayError($conexion = null)
{
// Inicializamos el error diciendo que no hay error
$this->_error = '';
// Si el parámetro es nulo entonces tomo la conexión interna
if ( $conexion == null )
{
$conexion = self::$_conexion;
}
// Verificamos si hay un error en la última ejecución de MySQL
if ( mysql_errno( $conexion ) != 0 )
{
$this->_error = "(" . mysql_errno( $conexion ) . ") " . mysql_error( $conexion );
return true;
}
return false;
}
/**
* Pregunta si hay un error en la ultima acción sobre MySQL
*
* @return boolean
*/
public function ocurrioUnError()
{
return $this->_verificarSiHayError();
}
/**
* Verifica si hay un error en la ultima sentencia para devolverlo, de lo contrario devuelve false
*
* @return boolean|string
*/
public function getError()
{
// Verificamos si se ha establecido algún error
if ( $this->_error == '' )
{
return false;
}
return $this->_error;
}
/**
* Ejecuta una consulta a la base de datos y devuelve true o false dependiendo si tuvo éxito en la ejecución
*
* @param string $consulta
* @return boolean
*/
public function query($consulta)
{
$this->_consulta = mysql_query($consulta, self::$_conexion);
return $this->_verificarSiHayError();
}
/**
* Devuelve el último id que se generó al insertar un registro
*
* @return integer
*/
public function getUltimoIdInsertadio()
{
return mysql_insert_id(self::$_conexion);
}
/**
* Devuelve una fila como un array
*
* @param int $modo Por defecto toma el valor de MYSQL_ASSOC
* @return array|boolean
*/
public function fetchArray($modo = MYSQL_ASSOC)
{
// Verificamos que no haya error en la consulta ejecutada
if ( $this->_verificarSiHayError() == true )
{
return false;
}
$fila = mysql_fetch_array($this->_consulta, $modo);
return $fila;
}
/**
* Devuelve una fila como un objeto
*
* @return object|boolean
*/
public function fetchObject()
{
// Verificamos que no haya error en la consulta ejecutada
if ( $this->_verificarSiHayError() == true )
{
return false;
}
$fila = mysql_fetch_object($this->_consulta);
return $fila;
}
}
En la misma ventana del navegador que obvtuve los problemas anteriores tengo este problema
Fatal error: Call to undefined method empleado::_verificarSiHayError() in C:\xampp\htdocs\sge\includes\php\BaseDeDatos.php on line 195.- No se porque no reconoce a VerificarSiHayError.
Les agradeceria su ayuda.
Saludos
Valora esta pregunta


0