Se ti viene restituita una pagina bianca, quasi certamente nel codice c'è un errore che fa sì che il codice non venga nemmeno eseguito.
La migliore cosa che puoi fare a questo punto è indentare il codice correttamente, altrimenti diventa molto difficile ragionarci su.
Si vede che per scrivere la procedura di autenticazione sei partito da una copia di quella di registrazione: va bene, ma sono due processi diversi ed è possibile (come in questo caso) che ci siano controlli utili nel primo caso ma assolutamente inutili nel secondo caso, o viceversa.
Ad esempio, non serve verificare che la stringa inserita sia un indirizzo email nel formato corretto: se è presente nel database vuol dire che è già nel formato giusto, se non è presente vuol dire che l'autenticazione non può procedere a prescindere dalla correttezza del formato.
Analogamente, non serve a nulla controllare che ci sia
almeno un record con l'indirizzo email specificato: l'email è unica, dunque o non c'è (nel qual caso ci si ferma con un messaggio d'errore) o c'è (nel qual caso si va avanti).
E guarda bene il controllo della password, il brano di codice che hai scritto è senza senso: prima definisci una
query in cui cerchi una corrispondenza sulla password, ma nella base di dati non memorizzi le password, bensì il loro
hash.
Poi esegui la
query, che per il motivo sopra indicato restituirà
sempre zero risultati.
Poi ignori completamente il risultato dell'interrogazione appena fatta (dunque perché l'hai eseguita?) e usi
password_verify per controllare che l'
hash della password che hai appena calcolato (
non quella del database...) coincida con... la stringa di
query!
Dopo aver sistemato l'indentazione e le altre cose, controlla bene come si utilizza
password_verify, nella documentazione trovi gli esempi di cui hai bisogno.