[mysql/php] aktywacja konta uzytkownikow


(pain3hp) #1

Witam, zrobiłem sobie w bazie dwie kolumny, "aktywny" i "kod_aktywacji"

dla aktywny domyśłnie jest 0 co oznacza NIE, chciałbym aby po rejestracji do bazy wklepywał sie kod pod typ VARCHAR(40), tylko jak to zrobić, oczywiście żeby ten kod sie nie powtarzał.

nastepnie wyślę maila na podany w formularzu i żeby się stworzył ink z końcówką ?am=, potem sprawdzam w bazie czy taki kod jest jeśli jest to pobierz jego id i do tego id dodaj akywne = 1;

czy to jest rozwiązanie dobre? Jeśli nie to jakie typy i jaką funkcjonalność tego rozwiązania byście mi polecili?

dzięki


(Jaczula) #2

na mój gust najprościej tak:

do {

     kod = losowo generujesz kod

} while (sprawdzasz czy w bazie jest rekord, którego pole kod jest równe twój wygenerowany kod)

na pierwszy rzut oka nie widzę przyczyn dla których nie warto by tego używać


(Xds) #3

Można również tak:

do {

     kod = losowo generujesz kod

} while (operacja INSERT kodu zakończy się powodzeniem)

kod_aktywacji VARCHAR(40) musi być zdefiniowany jako unikalny "unique"