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:
codice:
SELECT `email`, `password`, `nome` FROM `login_tecnici` WHERE BINARY `email`='$loginUsername' AND `password`='$password';
Dove $loginUsername e $password vengono memorizzati da un form.
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:
codice:
if ($loginUsername != $arrLogin[0] || $password != $arrLogin[1]) {
    header("Location: ". $MM_redirectLoginFailed );
  }
  else {
    header("Location: " . $MM_redirectLoginSuccess);
  }
Dove $arrLogin è un array numerico: la posizione 0 si riferisce allo username e 1 alla password, vengo comunque reindirizzato con successo, anche inserendo 'Marco'.
Punto terzo, se invece effettuo questo test:
codice:
if ($loginUsername != $arrLogin[0] || $password != $arrLogin[1]) {
    echo 'Login fallito';
  }
  else {
    echo 'Login OK';
  }
Se inserisco nell'input 'Marco', il test fallisce, mentre ha successo se inserisco 'marco'.
Qualcuno sa dirmi dove è il problema?
Grazie e Buon Natale