ďťż
Podstrony
|
telcocafeWitamW moim systemie rejestracji jest coś takiego, że jeżeli przy rejestracji poda się login, który już jest w bazie danych, wywołuje błąd jest za to odpowiedzialna funkcja: function login_use($login) { $query = mysql_query("SELECT username FROM people WHERE username = '$login'") or die(mysql_error()); $uzyty = false; while($user = mysql_fetch_array($query)) { if($login == $user['username']) { $uzyty = true; } } return $uzyty; } jednak jeżeli w bazie istnieje użytkownik 'PiKey' zaś do formularza wpiszę 'pikey' to funkcja zwraca false czyli niby użytkownik jest wolny. Co mogę z tym zrobić? if(strtolower($login) == strtolower($user['username'])) { $uzyty = true; } strtolower zmniejsza wszystkie litery w ciagu znaków na małe litery... function login_use($login) { $query = mysql_query("SELECT 1 FROM people WHERE username LIKE '$login'") or die(mysql_error()); if (is_array(mysql_fetch_array($query,MYSQL_NUM)))) { return true; }else{return false;} } Wersja zoptymalizowana i uproszczona. Oczywiście radzę sprawdzić czy gdzieś się nie pomyliłem. //Do postu niżej: Otóż to! Dzięki za zwrócenie uwagi. W końcu mamy się wspólnie doskonalić. Użytkownik NIC edytował ten post 09 lipiec 2007, 22:33 if (is_array(mysql_fetch_array($query,MYSQL_NUM)))) { return true; }else{return false;} prościej: return is_array(mysql_fetch_array($query,MYSQL_NUM)); Ja się czepiam, wiem, ale co ja poradzę, że mnie w oczy kłuje :P |
|||
Sitedesign by AltusUmbrae. |