[php] username / email check niet case insensitive

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een 'If user name/email already excists' stukje gemaakt.
Maar er is een klein probleempje...
Voorbeeld:

Ik heb de naam Supreme geregged.
Nu wil ik Supreme weer reggen, dat kan niet.
Maar als ik SuPrEmE reg, doet hij het wel! Wat dus niet moet..

Stukje code
PHP:
1
2
3
4
5
$username1 = mysql_result($result,$i,'username');
$email1 = mysql_result($result,$i,'email');
if ($username1 == $username) {$error++; $errormsg = "$errormsg </strong><div align=center><font color='#FF0000' size=1 face=Verdana, Arial, Helvetica, sans-serif>Error: Username already in use.</font></div><br>"; };
     if ($email1 == $email) {$error++; $errormsg = "$errormsg </strong><div align=center><font color='#FF0000' size=1 face=Verdana, Arial, Helvetica, sans-serif>Error: Email already in use.</font></div><br>"; };
     $i++;

Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

1 optie: alles substr doen en dan vergelijken

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:52
Zet beide strings om naar uppercase (of lowercase), en vergelijk ze zo.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • DUX
  • Registratie: September 2002
  • Laatst online: 12:53

DUX

blijft ook nu voor Oranje

whoami schreef op 06 juli 2003 @ 17:01:
Zet beide strings om naar uppercase (of lowercase), en vergelijk ze zo.
Wilde ik ook net zeggen.

Gebruik dus de functie strtoupper.

Dus dan krijg je:
PHP:
1
2
3
4
5
6
7
<?
$username1 = mysql_result($result,$i,'username'); 
$email1 = mysql_result($result,$i,'email'); 
if (strtoupper($username1) == strtoupper($username)) {$error++; $errormsg = "$errormsg </strong><div align=center><font color='#FF0000' size=1 face=Verdana, Arial, Helvetica, sans-serif>Error: Username already in use.</font></div><br>"; }; 
     if (strtoupper($email1) == strtoupper($email)) {$error++; $errormsg = "$errormsg </strong><div align=center><font color='#FF0000' size=1 face=Verdana, Arial, Helvetica, sans-serif>Error: Email already in use.</font></div><br>"; }; 
     $i++;
?>

[ Voor 52% gewijzigd door DUX op 06-07-2003 17:04 ]

.    < G o o o o o o o o g l e >
Vorige 1 2 3 4 5 6 7 8 Volgende


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt, ik had hem al iets anders namelijk eerst alle vars geuppercased, maar je edit is een makkerlijke versie :)

Acties:
  • 0 Henk 'm!

  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 24-06 00:27

Jurgle

100% Compatible

Of je maakt een hash van de un en je vergelijkt die met een hash van de gegeven string.

Dat is altijd case sensitive...

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


Acties:
  • 0 Henk 'm!

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 11:40
En de vergelijking moet juist case insensitive worden uitgevoerd (lees topicstart).

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Waarom laat je MySQL niet checken op username. MySQL checkt op (var)char velden altijd case insensitive, wat je wilt :) en het is nog sneller ook :)
en daarom heb ik ook je topictitle ge-edit
Pagina: 1