Otra alternativa al uso de sesiones es realizando la validación mediante una petición asíncrona (Ajax), de modo que envías los datos a una archivo externo, éste realiza la comprobación de datos y devuelve una respuesta. Con esa respuesta decides entre enviar los datos para el registro (o lo que intentes hacer) o mostrar un mensaje de alerta indicándole al usuario que los datos ingresados ya existen en la BD. Como la petición es asíncrona, la página no se recarga.
Hace poco respondí a una pregunta muy similar, quizá te sirva:
http://www.forosdelweb.com/f18/valid...mysql-1092552/
Saludos