Foros del Web » Programando para Internet » PHP »

Ayuda con paso de variables

Estas en el tema de Ayuda con paso de variables en el foro de PHP en Foros del Web. Hola a todos!!! Tengo el siguiente problema y no se como resolverlo... alguien me puede ayudar? Como veran paso dos variables por la URL, "pg" ...
  #1 (permalink)  
Antiguo 07/08/2008, 14:19
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 28
Ayuda con paso de variables

Hola a todos!!!
Tengo el siguiente problema y no se como resolverlo... alguien me puede ayudar?
Como veran paso dos variables por la URL, "pg" y "tiempo".

Pero cuando pasan las variables me muestra lo siguiente:

http://mipaginaweb/resultados.php?pg...0CONVERT(_utf8

________
Como veran se corta hasta "(_utf8" no continua....
________

Código PHP:
$cadena2 "tiempo not like CONVERT(_utf8 '1' USING latin1) COLLATE latin1_swedish_ci";

echo 
"<th scope=col><a href='$PHP_SELF?pg=".$url."&tiempo= ".$cadena2."> <FONT COLOR='blue'>Siguiente &raquo</a></th>"
ALGUIEN DICE YO?
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.
  #2 (permalink)  
Antiguo 07/08/2008, 14:27
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Respuesta: Ayuda con paso de variables

El problema son las comillas, intenta hacer algo así

Código PHP:
$cadena2 urlencode("tiempo not like CONVERT(_utf8 '1' USING latin1) COLLATE latin1_swedish_ci"); 
Y cuando recuperes tu variable:

Código PHP:
$cadena2 urldecode($_GET['tiempo']); 
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 07/08/2008, 14:58
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 28
Respuesta: Ayuda con paso de variables

Muchas gracias... toy casi seguro de que toy muy cerca... con lo que me dijiste que haga me funcione bien, cuando 1 es un valor constante, pero si es una variable... pasa lo siguiente:

Código PHP:
$cadena2 "tiempo not like CONVERT(_utf8'" .$valor"'USING latin1) COLLATE latin1_swedish_ci";

$pasa_tiempo urlencode("$cadena2"); 

echo 
"<th scope=col><a href='$PHP_SELF?pg=".$url."&tiempo= ".$pasa_tiempo."'><FONT COLOR='blue'>Siguiente &raquo</a></th>"

Al recuperar en la pagina "resultados.php", la variable tiempo la lee asi:

"tiempo not like CONVERT(_utf8\'1\'USING latin1) COLLATE latin1_swedish_ci"

Y deberia ser:

"tiempo not like CONVERT(_utf8 '1' USING latin1) COLLATE latin1_swedish_ci"

___________

Ya que al tratar de ejecutarla en mysql, me dice:

Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'1\'USING latin1) COLLATE latin1_swedish_ci LIMIT 3, 3' at line 1


MUCHAS GRACIAS... SABRAS QUE ES?
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.
  #4 (permalink)  
Antiguo 07/08/2008, 15:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda con paso de variables

Usa stripslashes en la variable para quitarle las barras invertidas extras. Eso sucede cuando usas magic_quotes en tu php.ini.

Saludos.
  #5 (permalink)  
Antiguo 08/08/2008, 22:16
Avatar de Pablo Ayala  
Fecha de Ingreso: septiembre-2005
Ubicación: Cancún, México
Mensajes: 231
Antigüedad: 18 años, 7 meses
Puntos: 28
Respuesta: Ayuda con paso de variables

GatorV.... me funciono perfecto!!!

Con eso ya puedo hacer correctamente mi consulta a mysql.....


GRACIAS A TODOS!!!
__________________
Atentamente,

Pablo Ayala.
Si vas a responder algo en el foro que sea con amabilidad.
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 11:00.