Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/06/2011, 20:22
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Undefined index y Undefined variable

Vamos a verlo de la forma mas sencilla posible.

Las variables no sea definen solas, debe existir un algo o alguien que las defina en el contexto actual.

Un programador por ejemplo es el que define que variables necesita, sus valores, etc.
Código PHP:
$foo 'bar'
Asi entonces tambien existen variables super globales, las cuales define el mismo lenguaje -o usuario- bajo determinadas circunstancias.

Entonces PHP al recibir parametros en la URL define variables $_GET, si hay post entonces $_POST, etc.

script.php?candy=does
Código PHP:
echo $_GET['candy']; // does 
Si en dicha URL no colocamos ningun parametro despues del ? entonces no se definen variables $_GET, asi mismo pasa con otros tipos de variable en general.

Y eso es todo, los problemas con indices indefinidos es que precisamente no existe dicha clave en dicho array.

Los problema que indican que la variable no esta definida entonces asi es, simplemente no existe nada.

Cuando reflexionas con tu codigo, es facil observar que deliberadamente asumes que la variable $_GET['busqueda'] existe, pero no es asi.

¡Ahi tienes el error!

La solucion todo el tiempo es predefinir algun valor -en caso de variables definidas manualmente- o bien, asignar un valor por defecto en cualquier otra circunstancia.

Código PHP:
// usuario
$foo null// valor inicial

// if (algo) $foo = ...


// request
$foo = isset($_GET['bar']) ? $_GET['bar'] : null
De esta manera sabemos que aunque no se pase ninguna variable por URL al menos tenemos un valor defecto el cual nos va a evitar estos dolores de cabeza.

Espero que te sirva, y a los demas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 23/06/2011 a las 20:35 Razón: Errata