Foros del Web » Programando para Internet » PHP »

Ayuda Urgente Global no va

Estas en el tema de Ayuda Urgente Global no va en el foro de PHP en Foros del Web. Tengo un problema muy grave el servidor donde me alojo no admite register_global y mi web no funciona ya que pasa las variables mediante esa ...
  #1 (permalink)  
Antiguo 14/10/2005, 12:31
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Ayuda Urgente Global no va

Tengo un problema muy grave el servidor donde me alojo no admite register_global y mi web no funciona ya que pasa las variables mediante esa sintaxis que puedo hacer.
Hay otras formas de pasar variables entre paginas?

Gracias por favor necesito ayuda.

Un Saludo
  #2 (permalink)  
Antiguo 14/10/2005, 13:56
 
Fecha de Ingreso: agosto-2005
Mensajes: 143
Antigüedad: 12 años, 3 meses
Puntos: 0
Holas.

Si no quieres cambiar tus variables a variables superglobales puedes hacer algo así:
Código PHP:
//al inicio de tus scripts
foreach($_GET as $var => $valor)
    ${
$var} = $valor
Haciendo lo mismo con $_POST.

Saludos ;)
  #3 (permalink)  
Antiguo 14/10/2005, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
register_global y mi web no funciona ya que pasa las variables mediante esa sintaxis que puedo hacer.
Hay otras formas de pasar variables entre paginas?

Pero que significa eso exactamente? .. que tiene esa directiva a OFF y tu desarrollastes toda tu aplicación usando variables no gloables .. es decir, en lugar de:

$_GET['variable'] .. para tomar algo que llegó por nose.php?variable=valor .. usastes $variable

Si es eso .. puedes usar lo que te propone $thisone pero también tienes la función:

extract()
http://www.php.net/manual/en/function.extract.php

Y sobre todo .. si bien ahora ya no llegas para cambiar tu código DEBES acostumbrarte a usar los arrays superglobales: $_GET, $_POST .. etc .. Y .. ojo si usas sesiones (session_register() ..etc) eso también te va a dar problemas!!!.

Un saludo,
  #4 (permalink)  
Antiguo 14/10/2005, 15:14
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Hola cluster, la directiva esta en off, he creado un servidor local con apache y he añadido a mi script lo siguiente en la parte superior:
extract($_SERVER,EXTR_SKIP);
extract($_COOKIE,EXTR_SKIP);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP);

Y ya me reconoce las variables que antes no me reconocian, para las sesiones uso un sistema de autentificacion unicamente y funciona en register_global =off ya que lo he probado con este servidor local.
El unico problema que me encuentro ahora es el tema del upload de imagenes, el resto ya me reconoce todas las varibales, tanto por url como pasadas por post.

¿Si funciona en localhost con register_global==off debera de funcionar en el servidor igualmente no con esta linea que he añadido con el extract?

Gracias por la aclaracion espero tu respuesta.
Un Saludo
  #5 (permalink)  
Antiguo 14/10/2005, 15:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
¿Si funciona en localhost con register_global==off debera de funcionar en el servidor igualmente no con esta linea que he añadido con el extract?
Si, . debería funcionar.

El tema de archivos .. ($_FILES) mas te vale modificar tu código actual .. Y las sesiones .. por seguridad si las usas, es altamente recomendable que uses $_SESSION directamente y no session_register() y equivalentes.

Pero .. Por qué no adaptas tu código mejor? .. lo harás mas seguro y sobre todo ya no te importará si esa directiva está a ON o a OFF ...

Un saludo,
  #6 (permalink)  
Antiguo 14/10/2005, 15:44
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Gracias Cluster, si, lo voy a modificar, pero tenia que buscar una solucion rapida para este periodo ya que si no se me echarian muchos clientes ensima.
Ya he solucionado lo del $FILE para la subida de imagenes, como me has dicho.
LAs sessiones usan $SESSION, lo he mirado y es asi como esta por lo que segun me dices debe de funcionar, ademas en register_global off que he probado funciona bien sin problemas la autentificacion.

Mira CLuster asi tengo las sessiones:

$this->username = $_SESSION['username'] = GUEST_NAME;

Es correcto?

Y Un millon de gracias, me volvi loco buscando soluciones pero como el servidor a vuelto a on pues no sabia si funcionarian pero en mi servidor local estando en off si no pongo arriba del todo del script esto:

extract($_SERVER,EXTR_SKIP);
extract($_COOKIE,EXTR_SKIP);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP);

No me iva pero si lo pongo me va sin problema, de todos modos por seguridad pasare todas las variables al modo correcto
$_GET['VARIABLE']
$_POST['VARIABLE']

Una última pregunta ¿el extract puede desactivarlo el servidor para que no se use?

Espero esta ultima aclaración.
Un Saludo
  #7 (permalink)  
Antiguo 14/10/2005, 15:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
$this->username = $_SESSION['username'] = GUEST_NAME;
Si, .. es correcto

Cita:
Una última pregunta ¿el extract puede desactivarlo el servidor para que no se use?
Si, en PHP se puede desactivar funciones .. pero si no tienes esa función podrías usar el método que te planteó $thisone


Un saludo,
  #8 (permalink)  
Antiguo 14/10/2005, 15:58
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Pues muchas gracias a los dos por la grandisima ayuda que me han prestado, he provado asustituir el extract por la funcion de $thisone y va exactamente igual de bien, ya solo falta probarlo en el servidor cuando vuelvan a poner register_global en off a ver si funciona igual de bien y sobre todo desde ya usare declaracion de variables como debe ser:

$_GET['VARIABLE']
$_POST['VARIABLE']
Esto es lo que tiene ir aprendiendo de los errores que no sabes que lo haces mal hasta que pasa algo asi.
Es una suerte contar con un foro de habla hispana tan difundido como forosdelweb donde hay gente como ustedes dispuesta a ayudar.

Un Saludo y de nuevo muchisimas Gracias
  #9 (permalink)  
Antiguo 15/10/2005, 08:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Una pregunta el modrewrite funcionara con el register_global en off y añadiendo la funcion:

extract($_SERVER,EXTR_SKIP);
extract($_COOKIE,EXTR_SKIP);
extract($_POST,EXTR_SKIP);
extract($_GET,EXTR_SKIP);

Un Saludo y gracias
  #10 (permalink)  
Antiguo 16/10/2005, 20:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El "mod_rewrite" de Apache (módulo) es "transparente" a tu programación .. No tiene nada que ver lo que haga tu servidor HTTP para "cambiar" cierto URL por otro a la hora de solicitarlo que lo que PHP espere obtener como variables en el script según el método que se envien discriminando este (caso de register_globals a OFF).

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 14:21.