Cita: Se que se puede restringir esto mediante sql. pero necesito limitar la duplicidad del email y la contraseña mediante php.
En primer lugar y ante todo, debes
proteger la base de datos, de modo que ni ante un error de la aplicación se generen duplicidades. En ese sentido crea un índice UNIQUE
pero únicamente sobre el e-Mail, no sobre la password. Si el indice lo hicieras con la password también permitiría de todos modos crear dos entradas con el mismo e-Mail pero con diferentes password, lo que es un error.
Por otro lado, poner como unica la PWD tampoco tiene mucho sentido, porque la misma pasword sólo aplicaría en combinación con el mismo e-Mail, lo que reduce al mínimo los problemas. Además no hay razones validas para restringir la pwd de ese modo. Sí el e-Mail.
Por otro lado, debes recordar que PHP no tiene forma de saber si algo está o no registrado en la base, a menos que lo valides. Para eso solo existen dos formas: 1) Consultas a la base si el e-Mail ya existe antes de crear la inserción (esto de todos modos es lógicamente necesario), y 2) REgistrar de algún modo que el formulario ya se envió, y que envío y registración fueron exitosos.
En este último punto yo te sugeriría que usaras la sesión en PHP para almacenar dos cosas:
1) Un atributo booleano que cuando envías el formulario se ponga en TRUE.
2) Un atributo booleano que cuando la registración sea exitosa se ponga en TRUE.
Obviamente ambos atributos se deben crear como FALSE al inicio, y además ser verificados
antes de enviar el formulario, aunque sea por primera vez.