Foros del Web » Programando para Internet » PHP »

Ayuda urgente con $REQUEST_URI

Estas en el tema de Ayuda urgente con $REQUEST_URI en el foro de PHP en Foros del Web. Hola, pues bien miren en mi server no esta en el php info esta variable $REQUEST_URI y la ocupo miren mi phpinfo www.nextvisionweb.com/phpinfo.php y pues ...
  #1 (permalink)  
Antiguo 27/08/2004, 15:35
Avatar de ajalex  
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 0
Exclamación Ayuda urgente con $REQUEST_URI

Hola, pues bien miren en mi server no esta en el php info esta variable $REQUEST_URI y la ocupo miren mi phpinfo www.nextvisionweb.com/phpinfo.php y pues la ocupo para autentificar usuarios en mi localhost funciona bien pero en mi server no tiene esa variable, se supone que la funcion md5 megenera un numero, esa se le envia al usuario ej: misite.com?AQUI_EL_NUMERO y al acceder a la url me abre la pagina misitec.com?AQUI_EL_NUMERO, y me ejecuta, que si activo al usuario o ya caduco, pero como ocupo la funcion $REQUEST_URI miren el codigo aca, es el que abre:

Código PHP:
<? 
include "config.php";
if (isset(
$REQUEST_URI)) {
$auth explode("?",$REQUEST_URI);
if (isset(
$auth[1])) { 
if(
strlen($auth[1])==32){
$md5user $auth[1];
$query mysql_query("SELECT * FROM `usuarios` WHERE `REGAUTH` LIKE '$md5user'");
if(
mysql_num_rows($query)!=0){
$datos mysql_fetch_array($query);
$id $datos["id"];
mysql_query("UPDATE `usuarios` SET `REGAUTH`='',`estado`='1' WHERE `id`='$id%'");
$mensaje "<div align=center>El usuario ".$datos["nick"]." ha sido activado con éxito, puedes accesar apartir de ahora.</div>";
} else {
$mensaje "<div align=center>Ha ocurrido un error, posiblemente tu cuenta ha caducado, no se encuentra en el sistema o simplemente ya ha sido activada.</div>";

} else { 
$error[1] = "1";}
} else { 
$error[2] = "1";}
} else { 
$error[3] = "1";} 
echo 
"<br><br><span class=\"user\">$mensaje</span>";
?>
  #2 (permalink)  
Antiguo 27/08/2004, 20:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Y por qué no usas una simple variable:

nose.php?md5=numero ...

y en tu script PHP la tomas por:

$md5user = $_GET['md5'];

(la puedes validar igualmente por nº de caracteres/dígitos y demás ...)

Por lo demás .. para tu ejemplo en tu caso tienes:
_ENV["QUERY_STRING"]

(haz un ejemplo: http://www.nextvisionweb.com/phpinfo.php?asdfasdf .. fijate donde sale ese asdfasdf ..)

Eso son variables de entorno? .. el caso es que la podrás acceder por:

getenv()
o bien por el array superglobal: $_ENV o mejor $_SERVER (los otros dos métodos están en desuso)

más info:
http://www.php.net/variables.predefined

NO te recomiendo que a pesar de usar "register_globals" a ON (en tu php.ini) accedas a variables externas de tu script (como esas de entorno/servidor) asumiendolas como globales ($VARIABLE_EXTERNA) .. Usa por tu seguridad y compatibilidad de tus aplicaciones los arrays superglobales.

Un saludo,

Un saludo,
  #3 (permalink)  
Antiguo 28/08/2004, 10:39
Avatar de ajalex  
Fecha de Ingreso: agosto-2003
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 0
ahh gracias si me sirbio auque no se mucho jeej estoy leyendo para ver lo que explicaste, pero nadamas sustitui $REQUEST_URI por la que esta en el server $_SERVER["QUERY_STRING"]y la deje asi:
Código PHP:
if (isset($cod)) {
$auth explode('=',$_SERVER["QUERY_STRING"]);
if (isset(
$auth[1])) { 
if(
strlen($auth[1])==32){ 
ya quedo, pero voy a ver eso que explicaste primero

Gracias!!
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 13:03.