martes, 21 de julio de 2009

nota sobre ejercicio anterior

Buenas gente. Me avisaron que el ultimo ejercicio a algunos les tiraba errores.
Voy a explicarles un par de cosas de por que sucede eso, y que son esos errores.

los mensajes que nos pueden aparecer :
  • undefined index : accion
  • undefined index : compras
Primero que nada, una aclaración; estos mensajes no son errores , son notificaciones. Es decir, cosas que nos advierte php que no estamos haciendo de la manera mas correcta.
Esto se puede configurar en el php.ini; para que les muestre o no las notificaciones (notice , en inglés) .
A diferencia de un error, una notificación no impide que funcione nuestro script, sino que simplemente nos avisa de algo que podemos retocar.

¿Por que nos muestra esta notificación?

Nos esta indicando que estamos preguntando por un valor de un array (en nuestro caso, del array de $_SESSION ) en un índice no definido .
Si probamos el script vemos que no da problemas, ya que al no encontrar el elemento para ese indice la variable queda vacía.

Sucede en la linea que hacemos :
$action= $_POST["accion"];
cuando $_POST["accion"] no tiene valor aun.
Lo mismo ocurre cuando preguntamos si $_SESSION[compras] es un array.

¿Como arreglarlo?
Simplemente tenemos que preguntar, antes de usar la variable, si esta seteada.
Eso lo hacemos con la función de php isset().
Si no esta seteada, o no hacemos nada o si la estábamos asignando a otra variable, esa otra variable la dejamos vacia.
ejemplo :

if(isset($_POST["accion"]) { $action= $_POST["accion"]; }else{ $action ="" ; }
saludos!

No hay comentarios:

Publicar un comentario