Salve,
ho la tabella utente con Collation utf8_unicode_ci, username= pippo, pass= PaPeriNo.
e la seguente query per il login
Codice PHP:
if (isset($_POST['username']) && isset($_POST['password'])){
$userid = mysql_real_escape_string(makeSafe(strtolower(Cleanquery($_POST['username']))));
$pass = Cleanquery(mysql_real_escape_string(makeSafe($_POST['password'])));
if (strlen($userid)>0 && strlen($pass)>0){
$query = "SELECT username,confirm FROM utente WHERE username='$userid' AND password='$pass'";
$result = mysql_query($query) or die("Query fallita".mysql_error());
if (mysql_num_rows($result)>0){
$confirm=mysql_result($result,0,"confirm");
if($confirm==1)
$_SESSION['valid_user'] = $userid;
else
header ("Location: ?page=error&id=unconfirmed");
}
}
}
Il problema è che se scrivo come password 'paperino' mi fa fare lo stesso il login, mentre vorrei che fosse case-sensitive.
Se provo a mettere un echo $pass; prima della query, viene stampata per come la scrivo, quindi penso che ci sia qualcosa che non va con il DB.
---EDIT---
Come immaginavo, ho risolto impostando la collation della colonna password in utf8_bin