Foros del Web » Programando para Internet » PHP »

Undefied Variable

Estas en el tema de Undefied Variable en el foro de PHP en Foros del Web. Hola, Tengo un servidor PHP que me esta dando warnings por variables indefinidas, asi pues me pregunto, ¿Hay alguna manera de definirlas para eviatar el ...
  #1 (permalink)  
Antiguo 22/04/2003, 02:46
Avatar de Tk421  
Fecha de Ingreso: agosto-2001
Ubicación: Australia
Mensajes: 384
Antigüedad: 23 años, 2 meses
Puntos: 0
Undefied Variable

Hola,

Tengo un servidor PHP que me esta dando warnings por variables indefinidas, asi pues me pregunto,

¿Hay alguna manera de definirlas para eviatar el error?

¿Hay alguna manera de configurar el PHP para que no emita los warnings?

Salu2 y gracias ...
__________________
Tk421
Configuration management for Linux
  #2 (permalink)  
Antiguo 22/04/2003, 02:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Hombre, si estas cometiendo un error, lo mejor es corregirlo, no taparlo. Antes de intentar acceder a la variable, mira a ver si existe con isset(). O si realmente no quieres comprobarlo, en vez de configurar PHP para que nunca te muestre esos errores, puedes usar el operador @ para evitar que se muestren los errores de esa determinada linea (mira en el manual en el apartado de operadores). Y si lo que quieres es que no se muestren ese tipo de errores en ese script en concreto, puedes usar la funcion error_reporting(). Y si finalmente lo que quieres hacer es que ningun script PHP muestre ese tipo de errores, modifica en el php.ini la directiva error_reporting.

En el proyecto de articulo que pongo en mi firma comento alguna cosa al respecto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/04/2003, 02:57
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 8 meses
Puntos: 2
En la configuración de PHP (php.ini) tienes una sección (Error handling and logging) donde puedes configurar PHP para que no emita warnings. Podrias poner:

error_reporting = E_ERROR

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors except for notices
;
__________________
¿Por qué Uri Geller doblaba cucharas?
  #4 (permalink)  
Antiguo 22/04/2003, 11:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
La configuración típica de "desarrollo" es:
error_reporting = E_ALL & ~E_NOTICE

Osese, muestras los errores críticos (Warning y Fatal ) pero no los "Notice" ..

y la de "producción" .. debería ser (si no me equivoco):
error_reporting = ~E_ALL

Osese.. no mostrar ningun error para no desvelar rutas de archioos (mas info en el artículo de josemi q está en su firma )

de todas formas . .como bien comenta josemi .. los errores (aunque sean "notices") no hay q "taparlos" sino solucionarlos ..

Recuerda que que tienes funciones como:

isset() o empty() para ver si una variable está o nó definida con o sin valor (NULL o 0) .. Usalas en condicionales tipo:

Código PHP:
if (isset($variable)){
//Haces lo que tengas q hacer con esa variable .. o bien si quieres le das un valor por defecto . .aunque sea "" o 0 segun corresponda ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 22/04/2003 a las 11:45
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:24.