Foros del Web » Programando para Internet » PHP »

Problema horrible con Register_Globals y paso de variables

Estas en el tema de Problema horrible con Register_Globals y paso de variables en el foro de PHP en Foros del Web. Amigos junto con saludarlos, les comento mi gran problema, acostrumbor a pasar variables vía post, el php que esta configurado en el server en que ...
  #1 (permalink)  
Antiguo 29/03/2006, 15:35
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
Problema horrible con Register_Globals y paso de variables

Amigos junto con saludarlos, les comento mi gran problema, acostrumbor a pasar variables vía post, el php que esta configurado en el server en que estoys subiendo unos archivos tiene la versión:PHP Version 4.4.1, tiene por razones de seguridad :register_globals Off (Local Value) y Off (Master Value).

Proceso este formulario: campo texto más campo de archivo:

Código PHP:
<form action="ver.php" method="post" enctype="multipart/form-data" name="form1">
  <
p><input type="file" name="file"></p>
  <
p><input type="submit" name="Submit" value="Enviar"></p>
</
form
y recibe estos datos la siguiente página:

Código PHP:
<?
$nombre_archivo
=$_POST["file"];
echo 
$nombre_archivo;
?>
más simple imposible:

Trate de probar recibiendo CON $HTTP_POST_VARS["file"], pero nada, me siguen llegando los datos en blanco.

Desconozco si la versión de PHP no incluye estas funciones, pero recuerdo haberlo hecho antes sin problemas.

Incluso cambie en el formulario la opción enctype="application/x-www-form-urlencoded", aunque no debería influir hasta donde se, pero tampoco puedo pasar valores de una pagína a otra, tampoco con GET.
Espero su ayuda amigos...
Gracias por su tiempo

* corregi el post por el $nombre_archivo, lo copie mal, no es ese el problema
__________________
Exito!!
:censura:
Visita Uganet.cl

Última edición por GaboMaKano; 30/03/2006 a las 13:33
  #2 (permalink)  
Antiguo 29/03/2006, 18:29
 
Fecha de Ingreso: junio-2004
Mensajes: 60
Antigüedad: 19 años, 10 meses
Puntos: 1
* A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off
* Esto tiene una gran importancia sobre los formularios, ya que no es posible acceder a las variables enviadas de la manera anterior (como variables globales). En su lugar hay que utilizar la variable predefinida de PHP $_REQUEST, escribiendo $_REQUEST[‘edad’] en lugar de $edad
* Se puede poner register_globals = on en el fichero de configuración php.ini, pero no es recomendable por motivos de seguridad. Una alternativa que permite hacer mínimos cambios en el código ya existente es la siguiente:

$edad = $_REQUEST[‘edad’];

Buena suerte.

Al3jo
  #3 (permalink)  
Antiguo 30/03/2006, 09:39
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
probe con request y tampoco me funka, en forma local, si peor no sobre el server, aca les dejo la info del server por si sirve de ayuda, yo estoy ciego de tanto mirarla.....

http://www.trombert-constructora.cl/info.php
__________________
Exito!!
:censura:
Visita Uganet.cl
  #4 (permalink)  
Antiguo 30/03/2006, 10:03
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
Tenés que usar la matriz superglobal $_FILES, no $_POST. En versiones de PHP anteriores a 4.3.0 sí se podía usar $_REQUEST, pero en las versiones posteriores no ($_REQUEST sólo incluye datos ingresados por POST, GET o COOKIE). Por ejemplo, para obtener el nombre del archivo tendrías que usar:

Código PHP:
<?
$nombre_archivo 
$_FILES['file']['name'];
echo 
$nombre_archivo;
?>
Saludos
__________________
¿Se me entiende la letra?
  #5 (permalink)  
Antiguo 30/03/2006, 10:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Los campos "file" no están en $_POST sino en $_FILES, ese es el "problema":

Aquí tienes la documentación oficial al respecto:
http://www.php.net/manual/da/features.file-upload.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 30/03/2006, 13:36
Avatar de GaboMaKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Viña del Mar - Chile
Mensajes: 323
Antigüedad: 21 años, 5 meses
Puntos: 2
Cita:
Iniciado por Cluster
Los campos "file" no están en $_POST sino en $_FILES, ese es el "problema":

Aquí tienes la documentación oficial al respecto:
http://www.php.net/manual/da/features.file-upload.php

Un saludo,
Cluster, solo me equivoque al postear el mensaje aca, pero no es ese el problema.

Para obtener el nombre del archivo uso $_FILES['file']['name']; el drama es que la pagina que procesa el formulario verifica si la variable $nombre_archivo esta vacía o no y sigue con la ejecución del script según sea el caso, lo que me parece raro que yo uso habitualmente $_POST, y tengo otras web desarrolladas en otros hosting y no tengo este problema, localmente uso la versión 5.0.... de php con register_globals en off, y no tengo ese problema, de ahi mi consulta, espero que me puedan ayudar

Gracias por su tiempo..
__________________
Exito!!
:censura:
Visita Uganet.cl
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:35.