![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 23.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam prostą rejestrację na stronkę:
ten skryp mi bardzo ładnie działa. dodaje do bazy danych użytkownika, dzięki czemu może się on później zalogować na stronie index.php a chciałbym rozszerzyć rejestrację o wysłanie linku aktywacyjnego mailem. jak mam to zrobić? Ten post edytował marcinkooter 7.12.2010, 11:05:23 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Możesz zrobić sobie dodatkowe pole w bazie w tabeli użytkownika na np. klucz aktywacyjny oraz dodatkowe pole na maila w formularzu. W miejscu gdzie rejestracja przebiegła pomyślnie, dodaj wysyłanie maila z kluczem aktywacyjnym i jednocześnie dodaj ten klucz do tego dodatkowego pola w bazie. Jeżeli user kliknie na wysłanego mu linka z kluczem i będzie się on zgadzał z jego loginem i zapisanym wcześniej do bazy kluczem aktywacyjnym - możesz go aktywować usuwając dane o kluczu. W innym przypadku (jeżeli user nie potwierdzi maila) dodaj dodatkowy warunek przy logowaniu się if(pole z bazy klucz aktywacyjny nie jest puste) to user nie może być zalogowany.
Może w punktach będzie czytelniej: 1. Dodajesz nowe pole w bazie w tabeli usera, żeby dodawać tam klucz aktywacyjny. 2. Dodajesz nowe pole do uzupełnienia w formularzu rejestracji na adres e-mail 3. Zmieniasz trochę warunki "pomyślności" rejestracji (dodajesz obowiązek wypełnienia pola z mailem) 4. W miejscu "rejestracja przebiegła pomyślnie" generujesz losowy ciąg znaków (np. rand() + nick + czas) 5. Wysyłasz ten wygenerowany ciąg w postaci linka na adres e-mail usera (np. www.strona.pl/index.php?user=marcin&uid=MUASbbyuj#56as2322dsd33c6 5. Jeżeli user kliknie na link - pobierasz o nim dane z bazy i wywołujesz sprawdzanie poprawności, np. if ($_GET['uid] == $uid_pobrany_z_bazy) dla użytkownika marcin (gdzie uid to klucz) 6. Jeżeli warunek zostaje spełniony, możesz np. nadać polu z kluczem wartość NULL 7. Przy logowaniu, pobierasz z bazy również dane o kluczu aktywacyjnym i dodajesz dodatkowy warunek do formularza logowania: np. if ($klucz_pobrany_z_bazy == NULL) 8. Jeżeli $klucz_pobrany_z_bazy nie będzie NULL, to user nie aktywował konta PS. Możesz jeszcze potrzebować dodać pole w bazie, żeby przechowywać adres e-mail, chyba że login = e-mail ![]() Ten post edytował Daiquiri 7.12.2010, 11:40:47 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:45 |