Expresiones regulares y MySQL III
Hola de nuevo, en esta entrega vamos a finalizar la entrega sobre expresiones regulares en PHP y MySQL.
Ya vimos, en nuestra entrega anterior, que nuestra base de datos es capaz de guardar cualquier tipo de datos que nosotros introduzcamos a través de nuestra aplicación PHP, por consiguiente, es responsabilidad de nuestra aplicación PHP el crear un filtro que sirva para que las direcciones de correo que el usuario introduzca, sean direcciones válidas.
Ahora bien, ¿de qué hablamos cuando hablamos de una dirección de correo válida? Veamos, una dirección de correo debe llevar una cadena de caracteres que no contenga caracteres (perdón por la repetición) especiales como *&%$#, aunque si puede llevar un guión bajo (_), como el nombre identificativo de la cuenta de correo; posteriormente un signo de arroba (@); luego de esto otra serie de caracteres, excluyendo los especiales, seguidos por un punto; y finalmente una última serie de caracteres, una vez más excluyendo los especiales.
En nuestra aplicación, lo que tendríamos que hacer es añadir, a nuestra página PHP un filtro de expresiones regulares:
<?php
require($_SERVER["DOCUMENT_ROOT"]."/work/configuracion_base.php");
$conexion = mysql_connect($base_huesped, $base_usuario, $base_password) or die (mysql_error());
mysql_select_db($base_nombre, $conexion);
if(!eregi("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$", $e_mail)){
echo "No es una dirección de correo válida";
echo "<A HREF = 'expresion_regular_info.htm'>Regresar a datos</A>";
exit;
}
$insercion = "INSERT INTO datos_correo (nombre, apellido, correo, comentario) VALUES('".$nombre."','".$apellido."','".$e_mail."','".$comentario."')";
$consulta = mysql_query($insercion);
$resultado = mysql_query($consulta,$conexion);
echo "Datos Guardado, GRACIAS";
?>
La traducción de lo anterior es la siguiente:
Si la expresión regular (inicio que puede estar entre la a y la z o el 0 y el 9 o el guión bajo; seguido por el signo de arroba(@); seguido luego por caracteres que pueden estar entre la a y la z o entre los dígitos 0 y 9 ó el guión (-); seguido por el punto(.); y finalmente una última serie de caracteres en las que podemos incluir letras de la a a la z, números del 0 al 9, guiones (-) o más puntos) no se cumple, entonces despliegue en pantalla el mensaje No es una dirección de correo válida y muestre un vínculo para regresar a la página de inserción de datos.
Lo anterior nos garantiza que se insertarán en nuestro campo de texto para el correo electrónico, única y exclusivamente caracteres que concuerden con la expresión regular expuesta.
Finalmente, la puesta en práctica del código anterior, en conjunción con la página HTML original, es la siguiente:
[Objeto Flash Eliminado]
Muy bien esto, completa nuestro ejercicio sobre expresiones regulares en PHP y su integración en MySQL, en nuestra siguiente entrega, vamos a permitir que el usuario suba archivos a nuestra página (o mejor dicho que nos los envíe).
Por el momento, recuerden que "El éxito es fácil de obtener, lo difícil es merecerlo" (Albert Camus). Merezcamos siempre nuestro éxito. Hasta Pronto