Foros del Web » Programando para Internet » PHP »

Como pasar un nombre via get?

Estas en el tema de Como pasar un nombre via get? en el foro de PHP en Foros del Web. Hola, Tengo una dírmula y necesito pasar un nombre en la dirección formada, algo asi como: www.misitio.com/index.php?nombre=carlos mora silva&[email protected] lo que pasa es que no ...
  #1 (permalink)  
Antiguo 06/04/2006, 20:02
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.006
Antigüedad: 15 años, 11 meses
Puntos: 11
Como pasar un nombre via get?

Hola,

Tengo una dírmula y necesito pasar un nombre en la dirección formada, algo asi como:


www.misitio.com/index.php?nombre=carlos mora silva&[email protected]

lo que pasa es que no puedo enviar ese nombre con los espacios.

¿Hay forma de enviarlo?

Y después de enviarlo:

¿Como lo recojo y lo convierto de nuevo a un nombre con espacios?


graicas.
  #2 (permalink)  
Antiguo 06/04/2006, 20:24
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
podrias usar urlencode() y urldecode().

Saludos
__________________
JmN
  #3 (permalink)  
Antiguo 07/04/2006, 13:35
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.006
Antigüedad: 15 años, 11 meses
Puntos: 11
Puedes explicarme por favor como lo uso?

graicas
  #4 (permalink)  
Antiguo 07/04/2006, 15:52
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
urlencode()
urldecode()
__________________
JmN
  #5 (permalink)  
Antiguo 07/04/2006, 18:00
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 13 años, 9 meses
Puntos: 2
Otra alternativa puede ser:

Código PHP:
$cadena"nombre=carlos mora silva&[email protected]";
$cadenastr_replace (" ""%20"$cadena);
echo 
"<a href='index.php?$cadena'>Enlace</a>; 
__________________
De mucho estudiar nadie se murió, pero mas vale no arriesgarse
  #6 (permalink)  
Antiguo 08/04/2006, 08:15
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.006
Antigüedad: 15 años, 11 meses
Puntos: 11
jmn2k1:

en esta página que me diste:
http://ar2.php.net/urldecode

Menciona que no es bueno usar el urldecode para variables enviadas por get, y es lo que estoy haciendo.

Además intenté todas las formas posibles y en la segunda página no pude decodificar el nombre:
http://localhost/joomla/index.php?hm...e=Carlos+Pérez

Entónces?
Se puede decodificar para obtener:
nombre: Carlos Pérez

?

Cómo?


Amigo alejoluc me parece interesante la forma que expones, pero cómo lo decodifico en la segunda página donde lo recoje?

gracias.
  #7 (permalink)  
Antiguo 08/04/2006, 12:59
 
Fecha de Ingreso: febrero-2004
Mensajes: 138
Antigüedad: 13 años, 9 meses
Puntos: 2
lo decodificas asi:
Código PHP:
$nombre= @$_GET["nombre"];
$nombrestr_replace("%20"" "$nombre);
echo 
$nombre
Creo que deberia funcionar, cualquier cosa me avisas
__________________
De mucho estudiar nadie se murió, pero mas vale no arriesgarse
  #8 (permalink)  
Antiguo 08/04/2006, 13:47
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 16 años, 1 mes
Puntos: 2
Cita:
Iniciado por rashid
jmn2k1:

en esta página que me diste:
http://ar2.php.net/urldecode

Menciona que no es bueno usar el urldecode para variables enviadas por get, y es lo que estoy haciendo.
No dice que no sea bueno, dice que tengas cuidado si envias entidades HTML.

Quiere decir que si vos haces algo como:

echo urlencode("var1=Juan Perez&var2=123");

Vas a tener como resultado esto var1%3DJuan+Perez%26var2%3D123 y los ampersand (&) y los iguales no van a estar para delimitar las variables...

lo que tendrias que hacer es aplicarlo a cada variable por vez:

echo urlencode("Juan Perez");

Que obtiene esto: "Juan+Perez" y si le aplicas urldecode vas a tener, de nuevo, "Juan Perez".

En cuanto usar str_replace para reemplazar la cadena, seria hacer exactamente lo mismo que aplicar un rawurlencode() (que si lees la diferencia esta en el espacio codificado como "+" o como "%20").
Ademas siempre es mejor aprovechar una funcion nativa y no crear uno su propia funcion.

Saludos
__________________
JmN
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 07:33.