Serve per rendere l username case insensitive
Serve per rendere l username case insensitive
Ah ok, grazie mille, ma l'effettiva utilità? Se scrivo il mio nome utente in maiuscolo è bene che anche nel form di login sia in maiuscolo, no?
Edit: comunque quella riga dice che se c'è più di una corrispondenza (>0) nell'nome utente e nella password inserita, allora la condizione è verificata.
Ultima modifica di mt19; 24-08-2014 a 17:02
PER COME ho usato il codice, ad ogni registrazione ( e non login) gli utenti non posso registrarsi con il nome mt se per esempio c è già un utente registrato con il nome MT ... e questo campo me lo sono portato dietro anche nel login .... ma non sono espertissima in questo campo. Ho seguito suggerimenti e spiegazioni su internet![]()
ma la funzione mysql_result?
Se intendi qua:
$username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
Gli dici di selezionare (select) lo username dove (where) lo username è uguale a $username, che onestamente non ha senso secondo quanto conosco io.... Piusttosto avrei fatto un
$result = mysql_result(mysql_query("SELECT * FROM users WHERE username LIKE '$username'"), 0);
così creo un array con tutta la riga dell'utente
poi avrei fatto:
$username = $result['username']
$password ? $result['password']
....
Forse sto dicendo una cavolata, ma in mysql le query non sono case insenitive? Per renderle sensitive va mica aggiunto BINARY?
Per rendere case insensitive usare lower o upper
nella select ... lower(username) = lower($username)
Ridatemi i miei 1000 posts persi !!!!
Non serve a nulla ottimizzare qualcosa che non funziona.
Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr
Uhmmm soluzione non troppo brillante a parer mio:
se mi iscrivo a un forum come Mt19, quando scrivo vorrei vedere il mio nome con le rispettive maiuscole. Col tuo metodo dovrei, al momento della registrazione, salvare ogni nome tutto in minuscolo o in maiuscolo.
In ogni caso sono quasi sicuro che scrivere, per esempio, un select con
WHERE username = 'Mt19'
e
WHERE username='mt19'
dovrebbe produrre lo stesso risultato.
Facendo una rapida ricerca ho trovato questo:
http://stackoverflow.com/a/9807669
Difatti, nello stesso 3d, qualche risposta sotto, propongono l'utilizzo di collate per il case sensitive:
http://stackoverflow.com/a/18627707
Ridatemi i miei 1000 posts persi !!!!
Non serve a nulla ottimizzare qualcosa che non funziona.
Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr