Foros del Web » Programando para Internet » PHP »

$PHP_SELF error

Estas en el tema de $PHP_SELF error en el foro de PHP en Foros del Web. este error me aparece cuando intento usar $PHP_SELF Notice: Undefined variable: PHP_SELF in c:\inetpub\wwwroot\avalon\usuario.php on line 14 y este es el pedazo de código... echo ...
  #1 (permalink)  
Antiguo 23/01/2004, 01:50
 
Fecha de Ingreso: agosto-2003
Ubicación: Cancun
Mensajes: 97
Antigüedad: 14 años, 3 meses
Puntos: 0
$PHP_SELF error

este error me aparece cuando intento usar $PHP_SELF

Notice: Undefined variable: PHP_SELF in c:\inetpub\wwwroot\avalon\usuario.php on line 14


y este es el pedazo de código...
echo "<form action=\"" . $PHP_SELF . "\" method=\"post\">";
echo "<input type=\"submit\" name=\"brw_act\" value=\"AGREGAR\">";
echo "</form>";

saben que es lo que esta mal?
  #2 (permalink)  
Antiguo 23/01/2004, 03:11
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
Pero la variable devuelve el valor deseado o no?

Notice=Aviso
Warning=Advertencia

En ninguno de los 2 casos son errores.
Se deberia poner en las faqs si es que no está, todos los dias hay mensajes iguales.

Esto se controla a traves de la linea error_reporting en el php.ini
Saludos.
  #3 (permalink)  
Antiguo 23/01/2004, 03:19
 
Fecha de Ingreso: agosto-2003
Ubicación: Cancun
Mensajes: 97
Antigüedad: 14 años, 3 meses
Puntos: 0
no devuelve el valor deseado....
  #4 (permalink)  
Antiguo 23/01/2004, 03:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Los notice y warnings SI SON ERRORES (y en mi opinion, graves). La unica diferencia es que a pesar de los notice y de los warning, el script "funciona".

Este Notice te dice que la variable $PHP_SELF no esta definida. Y esto es porque con la directiva register_globals a OFF, las variables predefinidas (como $PHP_SELF) deben accederse a traves de los arrays superglobales de http://www.php.net/manual/en/reserved.variables.php . En el caso de PHP_SELF, seria con:
Código PHP:
echo $_SERVER['PHP_SELF']; 
Y recomiendo que en la fase de desarrollo se tenga configurado PHP para que muestre todos los mensajes de error, incluidos los NOTICE. Y que se corrigan. Asi te aseguras de que funcionara independientemente de la configuracion del error_reporting. Luego en el entorno de produccion, yo deshabilitaria todos los mensajes de error (al visitante le importa un bledo el mensaje de error que da PHP). Y en caso de mantenimiento lo vuelves a activar para ver tu los mensajes. O en caso de no deshabilitarlos, usar una funcion propia para gestionar los mensajes.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 23/01/2004, 08:24
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
josemi los warnings y notices no son lo mismo que errores a los ojos de php, si no no tendria sentido el error_reporting, solo existiria display_errors y listo.
  #6 (permalink)  
Antiguo 23/01/2004, 08:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Mas bien puede que sea un problema de palabras. Lo que yo digo es que en PHP hay tres categorias de errores: notices, warnings y errors. Y PHP los trata de distinta forma.

Es que tal como tu lo has puesto 'los notices no son errores", parece que un codigo que genere notices es un codigo correcto, cuando no es asi. Un codigo con notices es un codigo erroneo (otra cosa es que PHP sea capaz de ejecutar el script de una forma mas o menos correcta).

Si hacemos lo que tu recomiendas, "callar" todos los mensajes de Notices, en este caso jcantomarin no veria que su error esta en que esa variable no existe. Y intentar acceder a una variable que no existe si creo que es un error (o fallo, si prefieres distinguirlo de los ERRORS de PHP), y por tanto no se debe "callar".

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 23/01/2004, 11:39
Avatar de ||Dj||  
Fecha de Ingreso: enero-2002
Mensajes: 2.349
Antigüedad: 15 años, 10 meses
Puntos: 1
Cita:
Si hacemos lo que tu recomiendas, "callar" todos los mensajes de Notices....

Juaaaa ...y de donde sacaste que yo recomiendo eso???
Me parece que posteaste en el hilo equivocado.
  #8 (permalink)  
Antiguo 23/01/2004, 14:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Cita:
Esto se controla a traves de la linea error_reporting en el php.ini
Lo que te he entendido con esta frase, es que controlas que aparezcan o no esos mensajes con esa directiva. Lo cual es cierto. Y me ha parecido que querias decir que solucionabas su problema modificacndo el valor de esa directiva.

Teniendo en cuenta que esto es un foro, no estamos cara a cara, posteamos con prisas, es viernes, es normal que tengamos estas confusiones linguisticas

En fin, buen fin de semana (espero que jcantomarin haya solucionado su duda).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 23/01/2004 a las 14:36
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.
Tema Cerrado




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