Bienvenid@s, hoy veremos como utilizar la función urlencode, esta función es útil para codificar los valores enviados a través de una consulta a través de una URL. Devuelve una cadena en la que todos los caracteres no-alfanuméricos
excepto -_. han sido reemplazados con un signo de
porcentaje (%) seguido por dos dígitos hexadecimales y
los espacios son codificados como signos de suma (+).
En muchas ocasiones es necesario enviar parámetros a través de una URL ...
nombre=Jose Antonio
Apellidos=García Rodríguez
http://MiPaginaWeb.es?nombre=Jose Antonio&apellidos=García Rodríguez
Como se puede observar existen espacios y tildes algo que nos dará un pequeño dolor de cabeza si no codificamos adecuadamente esta consulta.
En el siguiente ejemplo, podrá ver como al enviar el formulario, se capturan los valores y son pasados a una url codificada con urlencode y decodificada con urldecode.
Código de ejemplo ...
<?php /* By http://php-estudios.blogspot.com */ $urlencode = ""; $urldecode = ""; if (isset($_GET["nombre"]) and isset($_GET["apellidos"])) { $nombre = $_GET["nombre"]; $apellidos = $_GET["apellidos"]; //Codificar los valores $n = urlencode($nombre); $a = urlencode($apellidos); //url $url = "http://MiPaginaWeb.es?nombre=".$n."&apellidos=".$a.""; //Imprimir en pantalla la cadena codificada. $urlencode = "<p>Con la función urlencode() nos queda de la siguiente manera ...</p> <p><span style='color: blue; font-weight: bold;'>$url</span></p>"; //Decodificar los valores $n = urldecode($nombre); $a = urldecode($apellidos); //url $url = "http://MiPaginaWeb.es?nombre=".$n."&apellidos=".$a.""; //Imprimir en pantalla la cadena decodificada. $urldecode = "<p>Con la función urldecode() nos queda de la siguiente manera ...</p> <p><span style='color: blue; font-weight: bold;'>$url</span></p>"; } ?> <!DOCTYPE HTML> <html> <head> <title>Pasar parámetros en una url (urlencode-urldecode)</title> </head> <body> <form method="get" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> Nombre: <input type="text" name="nombre" placeholder="Introduce tu nombre"> Apellidos: <input type="text" name="apellidos" placeholder="Introduce tus apellidos"> <input type="submit" value="enviar"> </form> <?php echo $urlencode.$urldecode; ?> </body> </html>
No hay comentarios:
Publicar un comentario