Foros del Web » Programando para Internet » PHP »

Problemas con $PHP_SELF

Estas en el tema de Problemas con $PHP_SELF en el foro de PHP en Foros del Web. Hola a todos, tengo la siguinte variable para redireccionar los formuarios: $scriptname = substr($PHP_SELF, strrpos($PHP_SELF, "/")+1 ); Pero me la deja en blanco.... Curiosamente en ...
  #1 (permalink)  
Antiguo 30/04/2007, 11:59
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Problemas con $PHP_SELF

Hola a todos,

tengo la siguinte variable para redireccionar los formuarios:

$scriptname = substr($PHP_SELF, strrpos($PHP_SELF, "/")+1 );

Pero me la deja en blanco....

Curiosamente en otro servidor funciona.

Que puede ser?

Muchas gracias y saludos al foro,
Mickeyzgz
  #2 (permalink)  
Antiguo 30/04/2007, 12:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con $PHP_SELF

Depende de tu configuración del servidor de PHP. Es mejor que uses las variables superglobales:

http://www.php.net/manual/es/languag...predefined.php
http://www.php.net/manual/es/reserve...riables.server

EN tu caso, sería así:

Código PHP:
$scriptname substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/")+); 
Un saludo,
  #3 (permalink)  
Antiguo 30/04/2007, 12:16
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Problemas con $PHP_SELF

Gracias okram,

lo tenia como tu dices pero lo habia cambiado.

Donde puedo ver en mi servidor la configuración???

En el panel de control del dominio no lo veo...

Gracias
  #4 (permalink)  
Antiguo 30/04/2007, 12:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problemas con $PHP_SELF

Puedes subir un archivo PHP con esta linea: phpinfo(); y te muestra todos los valores de configuracion.

Saludos.
  #5 (permalink)  
Antiguo 30/04/2007, 12:31
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Problemas con $PHP_SELF

Claro, vaya preguntas tengo....

Lo he dejado en http://www.webactual.com/ladb/top.php

Register globals esta off y la version de php es 4.4.4

Solo con que estuviera a ON ya valdria?

Lo puedo poner yo a ON ó tengo que hablar con los del hosting?

Muchas gracias
  #6 (permalink)  
Antiguo 30/04/2007, 12:45
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con $PHP_SELF

Checa este articulo:

http://www.comalis.com/ayuda/register-globals.php

Un saludo,
  #7 (permalink)  
Antiguo 30/04/2007, 12:50
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con $PHP_SELF

Si no deseas modificar tu codigo completo, y el articulo no te sirve para solucionar el problema, podrias poner al inicio de todas las paginas:

Código PHP:
//EN ese orden
extract($_SERVER,EXTR_SKIP);
extract($_SESSION,EXTR_SKIP);
extract($_COOKIE,EXTR_SKIP);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP); 
Cita:
Iniciado por php.net
Aviso:
No use extract() en datos no confiables, como entradas de usuario ($_GET, ...). pero si lo hace, por ejemplo, si quiere correr codigo anterior que confía temporalmente en register_globals, asegurese de que usa una de los valores de no-sobreescribir del parámetro tipo_extraccion tales como EXTR_SKIP y asegurese de extrar las variables $_SERVER, $_SESSION, $_COOKIE, $_POST y $_GET ese orden.
Un saludo,
  #8 (permalink)  
Antiguo 02/05/2007, 08:26
 
Fecha de Ingreso: noviembre-2002
Mensajes: 273
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Problemas con $PHP_SELF

Muchas gracias, parece que funciona.

Pero aparece el siguiente warning:

Warning: extract(): First argument should be an array in C:\root\web\includes.php3 on line 21

Es curiosamente en la linea: extract($_SESSION,EXTR_SKIP);

A que se debe???

Sino he visto que puedo quitar las warning con error_reporting() o ponerle un @ delante

Qué creeis es mejor???
  #9 (permalink)  
Antiguo 02/05/2007, 18:58
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Problemas con $PHP_SELF

Hola,

Para "activar" la variables superglobal $_SESSION debes antes inicializar la sesión (session_start()):

Código PHP:
session_start();
//EN ese orden
extract($_SERVER,EXTR_SKIP);
extract($_SESSION,EXTR_SKIP);
extract($_COOKIE,EXTR_SKIP);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP); 
Suerte. Un saludo,
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:02.