Ciao,
devo confrontare due stringhe in case sensitive. Ho girato per il web e fatto parecchie prove ma non sono riuscito ad arrivare alla soluzione.
Prelevo dei dati da un db tramite la query:
Dove $loginUsername e $password vengono memorizzati da un form.codice:SELECT `email`, `password`, `nome` FROM `login_tecnici` WHERE BINARY `email`='$loginUsername' AND `password`='$password';
Facciamo conto la password è: 'marco' (tutto in minuscolo).
Punto primo, anche se nell'input, di tipo password, inserisco 'Marco', la query mi riporta che un record è stato trovato.
Punto secondo, se faccio il confronto in php:
Dove $arrLogin è un array numerico: la posizione 0 si riferisce allo username e 1 alla password, vengo comunque reindirizzato con successo, anche inserendo 'Marco'.codice:if ($loginUsername != $arrLogin[0] || $password != $arrLogin[1]) { header("Location: ". $MM_redirectLoginFailed ); } else { header("Location: " . $MM_redirectLoginSuccess); }
Punto terzo, se invece effettuo questo test:
Se inserisco nell'input 'Marco', il test fallisce, mentre ha successo se inserisco 'marco'.codice:if ($loginUsername != $arrLogin[0] || $password != $arrLogin[1]) { echo 'Login fallito'; } else { echo 'Login OK'; }
Qualcuno sa dirmi dove è il problema?
Grazie e Buon Natale

Rispondi quotando

