Cita:
Iniciado por terror_zine ten en cuenta que las comparaciones se hacen con dos =, es decir, == y no con tres como lo tienes tu,===.
El usar tres "=" también es una comparación válida

; este operador no solo compara por contenido sino por tipo.
Cita:
Iniciado por terror_zine Otra cosa que puede que falle, es esta:
Código PHP:
if (!(strlen ($_POST['pass_new']) == strlen ($_POST['pass2_new'])))
... De hecho esta bien, está negando lo que devuelva la comparación; si la comparación devuelve TRUE la convertirá en FALSE y viceversa.
www.php.net/language.operators OJO!!!, solo intento aclarar por si existiera la duda, no digo que este en desacuerdo con
terror_zine, por el contrario, igual te sugería hacer los cambios que menciona, simplificar tu código; para este caso una comparación por tipo viene sobrando y las condicionales pueden simplificarse haciendolas más directas --> lo que dijo!.
La verdad es que no hayo error con tu código... incluso lo he probado y
funciona perfectamente. Quizá tu error sea de alguna diferencia del name del passwordbox o cuestiones por el estilo (cosas simples que se escapan)...
Un saludo!