¿Tendrás la consulta bien?
Si está dando un valor incorrecto es lo más problable que ahí radique el fallo.
Deberías ir poniendo echos en tú código para ver en que punto hace algo raro,
comprobando si los valores que tienes coinciden con los que tienes en la BD y luego comprobando que da la consulta.
Está claro que el error es tuyo, así que claramente es un despiste.
el error debería estar en la consulta o las variables, quizás en la $contrasenya_encriptada o en ese OR.
Por cierto podrías cambiar los = por like en la consulta.