Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/12/2013, 23:40
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: No puedo asegurar esta query

Esto es simple:

Limpias el dato recibido de posible código malicioso, puedes hacerlo con expresiones regulares o usando funciones de PHP, como las siguientes
Código PHP:
Ver original
  1. $email = mysqli_real_escape_string($conn, strip_tags($_POST["email"]));

Verificas que el formato del email sea válido
Código PHP:
Ver original
  1. echo preg_match("/^([\w_\.-]+)@([\w\.-]+)\.([a-z\.]{2,6})$/", $email) ? "Correcto" : "Incorrecto";

Por último, realizas la consulta
Código PHP:
Ver original
  1. $query = mysqli_query($conn, sprintf("SELECT email FROM tabla WHERE email = '%s'", $email);

Acomodando estas líneas de código, podrías evitar que se haga la consulta si el formato del email no es válido.
Código PHP:
Ver original
  1. if (preg_match("/^([\w_\.-]+)@([\w\.-]+)\.([a-z\.]{2,6})$/", $email)
  2.      $query = mysqli_query($conn, sprintf("SELECT email FROM tabla WHERE email = '%s'", $email);
  3. else
  4.      echo "El email debe tener un formato válido";

Nota que uso la función preg_match en lugar de preg_replace, que es la que venías usando.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 29/12/2013 a las 00:14