Inicio > PHP > davidcortesb > Problema con Variables por URL

Problema con Variables por URL

Experto:
Usuario:
Fecha: 15/09/2008
Valoración: (5,00 sobre 5) Categoría: PHP
13/09/2008
jorignacio, usuario preguntando en PHP
Usuario
Utilizo el siguiente código para ordenar los registros de una tabla según la preferencia del usuario:
mysql_select_db("basedatos",$conexion) or
die("Problemas en la selección de la base de datos");
if ($_GET['orden']=="id")
{
$registros=mysql_query("SELECT id, titulo, rubro, ubicacion, calle, telefono, descripcion
FROM anuncios ORDER BY '$_GET[orden]' DESC",$conexion) or
die("Problemas en el select:".mysql_error());
}
else
{
$registros=mysql_query("SELECT id, titulo, rubro, ubicacion, calle, telefono, descripcion
FROM anuncios ORDER BY '$_GET[orden]' ASC",$conexion) or
die("Problemas en el select:".mysql_error());
}
El usuario hace clic en el enlace "nombre", por ejemplo, y este enlace pasa por url la variable orden=nombre_corto
Esta variable es recibida como $_GET['orden']
La cuestión es que en el servidor local funciona perfectamente pero cuando lo publico no funciona. Pareciera como si no recibiera la variable.
No entiendo donde puede estar el error.
En el mismo sitio web tengo otro script que recibe variables por url. Las recibo de la misma manera con $GET_[variable] y en ese caso sí funciona.
Espero puedan darme una orientación para encontrar el error.
Muchas Gracias.
13/09/2008
jorignacio, experto respondiendo en PHP
Experto
Hola,
quizás el problema esté en el enlace. Para comprobarlo, escribe la URL a mano en la casilla de direcciones del explorador, incluyendo el parámetro y comprueba si funciona.
Puedes probar a usar $_REQUEST["orden"] también en lugar de $_GET. Debería ser válido también.
También podría ser que estuvieses ejecutando sobre una versión muy antigua de PHP (anterior a 4.1). En ese caso $_GET no funcionará. Deberías cambiarlo por $HTTP_GET_VARS
Espero que sirva.
Saludos.
David Cortés Braña
15/09/2008
jorignacio, usuario preguntando en PHP
Usuario
Muchas Gracias. te comento que encontré la solución quitando las comillas simples a la variable, en lugar de
FROM anuncios ORDER BY '$_GET[orden]' ASC quedó
FROM anuncios ORDER BY $_GET[orden] ASC
de esta manera funciona bien en ambos servidores.
Igualmente voy a tener en cuenta tus aportes, me parecieron muy interesantes.
Muchas Gracias.
Más opciones
Enlaces patrocinados