Foros del Web » Programando para Internet » PHP »

Servidor externo no recibe bien los $_Get

Estas en el tema de Servidor externo no recibe bien los $_Get en el foro de PHP en Foros del Web. Saludos. Mi problema es el siguiente. Tengo Xampp en mi pc y un servidor remoto (produccion). Tengo una página que me muestra los resultados de ...
  #1 (permalink)  
Antiguo 09/02/2009, 08:51
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Servidor externo no recibe bien los $_Get

Saludos.

Mi problema es el siguiente. Tengo Xampp en mi pc y un servidor remoto (produccion).

Tengo una página que me muestra los resultados de una consulta ordenaditos en una tabla, y al hacer click en el encabezado de las columnas, por GET, le digo a la página que se refresque y haga el ORDER BY, $_GET orden.

Sucede que en local funciona de mil maravillas, pero al subirlo al servidor de producción, no hace nada a pesar de que por Firebug sigo recibiendo todas las variables de get.

Habilité todos los errores con

Código PHP:
ini_set("display_errors",);
error_reporting(E_ALL); 
Pero no muestra nada.

Algun consejo?
  #2 (permalink)  
Antiguo 09/02/2009, 09:31
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: Servidor externo no recibe bien los $_Get

sabes una vez me paso algo semejante..

era porque las variable que enviaba con GET las recibia pero con /''/

lo cual hacia fallar la comparacion
espero te sirva
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 09/02/2009, 10:09
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Servidor externo no recibe bien los $_Get

No hay caso... no funciona.
Incluso pensé que podría tener alguna version vieja y cambie todos los Get por HTML_GET VARS y tampoco me responde.

Es muy extraño esto. Aparte que tengo register_globals off en xampp no se me ocurre que más revisar para que esto funcione.

Si fuera por jugar no me importaria, pero como el jefe lo ve funcionar en desarrollo, tengo que hacer que corra en producción....

Demonios...

HELP F1.. HELP
  #4 (permalink)  
Antiguo 09/02/2009, 10:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Servidor externo no recibe bien los $_Get

Muestra tu código como estas haciendo la recepción, en todo caso puedes usar var_dump($_GET) para ver que variables te llegan por GET.

Saludos
  #5 (permalink)  
Antiguo 09/02/2009, 10:37
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Servidor externo no recibe bien los $_Get

Ya lo solucioné pero el error no deja de ser extraño.

La consulta original de php era:

Código PHP:
"SELECT * FROM ( SELECT * FROM nombre_tabla     WHERE iddueno = '2' OR iddueno = '".$_SESSION['idusr']."') AS ex
WHERE (Month( fechaent ) = '$mes') ORDER BY '"
.$orden."' DESC"
Y a pesar de que en la version de mysql de Xampp funciona correctamente, en el mysql de donde tengo que subirla no funcionaba a pesar de ser una consulta válida.

Entonces, luego de poner un par de echos por aquí y por allá me fijé que al sacarle los corchetes a la variable $orden, me funcionaba la consulta.

al final quedó la consulta así;
Código PHP:
"SELECT * FROM ( SELECT * FROM nombre_tabla WHERE iddueno = '2' OR iddueno = '".$_SESSION['idusr']."') AS ex
 WHERE (Month( fechaent ) = '$mes') ORDER BY "
.$orden." DESC"
Es el error más bizarro que me ha ocurrido con mysql desde que empecé a usarlo. (no así el error más idiota xD)

Muchas gracias a todos por su ayuda. Igual me intriga que pueda ser alguna versión de mysql en el servidor y que tenga problemas.

Saludos desde Chile.!

Última edición por SCY-FOX; 09/02/2009 a las 10:38 Razón: borre espacios extra
  #6 (permalink)  
Antiguo 09/02/2009, 11:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Servidor externo no recibe bien los $_Get

Hola SCY-FOX,

El problema es que al tu usar ORDER BY 'algo', no le estas diciendo a MySQL que ordene por esa columna, ya que '' se usa para delimitar un string, si quieres escapar el nombre de la columna tienes que usar comillas invertidas ORDER BY `algo`.

Si te funcionaba en local es probable por tu versión de MySQL, en las versiones 5, es más estricto en cuanto a los tipos de datos (cosa que es buena)

Saludos
  #7 (permalink)  
Antiguo 09/02/2009, 13:10
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Tienes toda la razón. Le saqué las comillas simples y puse las invertidas, pero ahora no me muestra los valores hasta que le hago click a la columna la que deseo ordenar.

Demonios de mysql.

Tendré que deshacer todos los cambios y dejarlo como estaba en mi version local.

Al parecer la version de ellos es menor que la que uso yo. Nunca habia tenido este problema antes.

Si es asi y no puedo cambiarla, como puedo ordenar por orden los registros usando algun método anterior????

Gracias por la ayuda...

Eee

Ya lo solucioné.

Código PHP:
"SELECT * FROM ( SELECT * FROM nombre_tabla     WHERE iddueno = '2' OR iddueno = '".$_SESSION['idusr']."') AS ex WHERE (Month( fechaent ) = '$mes') ORDER BY `$orden` DESC"
Me faltaba instanciar la variable con algun valor que permitiera hacer funcionar el ORDER BY en caso de no seleccionar variables de filtro.

Así que puse esto en el inicio de la página y se arreglo todo junto a lo de las comillas inversas.

Código PHP:
if (isset($_GET["orden"])) { $orden $_GET["orden"]; } else { $orden 'id';} 

Muchas gracias a todos por ayudarme!
Si puedo aportar con mis comentarios en otros posts lo haré!

Silla!

Última edición por GatorV; 09/02/2009 a las 13:43
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:54.