![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam takie pytanie. Mam plik rejestracja.php - w nim formularz (podajemy imie, nazwisko, login) Skrypt sprawdza poprawność danych a następnie dodaje dane do bazy. oto dodanie do bazy:
Problem mam w tym, że mogę dodać kilka razy tego samego użytkownika, a to najgorsze co może być. W jaki sposób sprawdzić czy imie, nazwisko, login już istnieją w bazie, a jeżeli tak to aby pokazało komunikat ze już istnieje użytkownik o takim imieniu, nazwisku i loginie bardzo bym prosił o pomoc jak to zrobić. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Wykonujesz sobie zapytanie dzięki któremu sprawdzasz czy dany użytkownik istnieje.
Tutaj, po wprowadzeniu w formularz takiego samego loginu jak ten w bazie zostanie wywołane die" title="Zobacz w manualu php" target="_manual. W przeciwnym przypadku reszta instrukcji. Pozdrawiam! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Em, dziwna, nieintuicyjna metoda (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował Zajec 17.11.2005, 23:20:29 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 0 Dołączył: 8.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
jak jestes leniwy to ustawiasz sobie kolumny w mysql na UNIQUE i juz sie nie da zalozyc takiego samego uzytkownika a jesli jestes mniej leniwy trzeba by najpierw sprobowac pobrac takiego uzytkownika i jak jest juz taki ktos to wypisac komunikat ze jest, a jak nie to nastepne zapytanie z INSERT
|
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(ergo @ 2005-11-20 13:42:05) jak jestes leniwy to ustawiasz sobie kolumny w mysql na UNIQUE (...) To nie jest lenistwo. To jest najlepsza metoda, a nie wykonywanie jakichś głupich SELECT'ów prez dodaniem nowego. Po co? Zakładasz UNIQUE i potem sprzwdzasz czy mysql_errno() zwrócilło jakiś błąd. Błąd o kodzie 1062 (jak się nie mylę) to naruszenie unikalności w tabeli. I po sprawie. Możesz dorzucić jeszcze ładne rzucanie wyjątkami, wtedy dodanie dasz w bloku try .. catch i masz bardzo ładne rozwiązanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:56 |