Problema con Variables por URL

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.

1 Respuesta

Respuesta
1
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
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas