Cita: header("location:index.php?mensaje=Error:Los datos se encuentran incompletos");
Pasa la cadena: "Error: Los datos ..." por la funcion urlencode() antes de pasarla asi.
Cita: Directo del manual de php.net
// El uso de session_register() es considerado obsoleto
http://www.php.net/manual/es/functio...n-register.php
Y por ultimo (creo), envias las variables tal cual la recibes del usuario, lo ideal es hacer alguna validacion(no solo validar que no estan vacios) antes de hacer cualquier consulta:
http://www.php.net/manual/es/functio...ape-string.php