Foros del Web » Programando para Internet » PHP »

Como cambiar register_globals a ON???

Estas en el tema de Como cambiar register_globals a ON??? en el foro de PHP en Foros del Web. Hola. Estoy haciendo una pagina web en php y resulta que al montarla en el servidor que me ha dado el cliente, me da error ...
  #1 (permalink)  
Antiguo 22/02/2006, 11:30
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años
Puntos: 0
Como cambiar register_globals a ON???

Hola.

Estoy haciendo una pagina web en php y resulta que al montarla en el servidor que me ha dado el cliente, me da error en todas las variables.

Yo uso $variable para todas las variables en vez de usar $_GET o $_POST.

He buscado informacion y creo que puede ser por la opcion "register_globals".
Supuestamente en mi servidor debe estar OFF pero no se como se si eso lo puedo cambiar yo o tengo que ponerme en contacto con el servicio tecnico del hosting.

Otra cosa que no me funciona es $PHPSESSID, que no contiene nada.
Tengo <?php session_start();?> puesto y en mi servidor si funciona pero en el nuevo no hace nada de nada.

Esta es la version del php de mi servidor (donde funciona todo correctamente) : PHP Version 4.3.10

Y esta es la version del servidor nuevo: PHP Version 4.3.10-15

A ver si me podeis aclarar las ideas un poco porque estoy bastante perdido.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 22/02/2006, 11:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que debes hacer es usar los arrays superglobales. Eso te costará un tiempo .. pero lo agradecerá la seguridad de tu aplicación y te harás independiente de la configuración de PHP que use el servidor de turno ..

Cita:
Supuestamente en mi servidor debe estar OFF pero no se como se si eso lo puedo cambiar yo o tengo que ponerme en contacto con el servicio tecnico del hosting.
No dés nada por supuesto, lo puedes confirmar tu mismo. Hazte un:
Código PHP:
<?
phpinfo
();
?>
Ahí veras toda la configuración de PHP una de ellas la directiva "register_globals".

Cita:
Otra cosa que no me funciona es $PHPSESSID, que no contiene nada.
Tengo <?php session_start();?> puesto y en mi servidor si funciona pero en el nuevo no hace nada de nada.
Más de lo mismo referente a "register_globals" .. Realmente es un -peligro- que uses sesiones con las funciones session_register() .. o las accedas de forma global!!!!!.

Por favor adapta tu código:
www.php.net/session

También te va a pasar con variables de servidor tipo $PHP_SELF o similares .. debes usar $_SERVER['nombre_variable']

Cita:
Esta es la version del php de mi servidor (donde funciona todo correctamente) : PHP Version 4.3.10

Y esta es la version del servidor nuevo: PHP Version 4.3.10-15
Las versiones dan igual .. es la configuración de PHP lo que afecta al comportamiento de tu código y forma de trabajar variables "externas" en tu caso.

Si no me quieres hacer caso sobre el uso de los arrays superglobales. Puedes usar la función:

ini_set()
www.php.net/ini_set

Para probar a darle valor en tiempo de ejecución en todos tus scripts a esa directiva .. Y sino, contacta con tu proveedor para que te indiquen si puedes usar algún .htaccess o similar para cambiar la configuración de PHP.

También puedes usar la función "extract()" para convertir tus arrays superglobales $_POST .. etc a $variables ...

Un saludo,
  #3 (permalink)  
Antiguo 22/02/2006, 11:58
Avatar de fueradejuego  
Fecha de Ingreso: abril-2003
Ubicación: Málaga - España
Mensajes: 94
Antigüedad: 21 años
Puntos: 0
Muchas gracias por tu respuesta.

Me pondre a cambiar las variables de todo el programa. Para evitar posibles errores.

Una vez mas, gracias por contestar tan rapido.

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




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