![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 7.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Problemy:
1. Chciałbym, aby po rejestracji, użytkownik otrzymał e-mail z potwierdzeniem. W treści listu chciałbym umieścić link do strony, na której zostanie aktywowane jego konto. Jakie informacje powinny być poprzez ten link przekazywane? 2. Jak zorganizować usuwanie nieaktywowanego konta? Czy da się to zrobić automatycznie, czy będzie to robił administrator? Z góry dzięki za rady i sugestie. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Skrypty forum -> php
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#3
|
|
![]() TAO programowania Grupa: Zarejestrowani Postów: 340 Pomógł: 3 Dołączył: 25.03.2003 Skąd: ze słoika Ostrzeżenie: (30%) ![]() ![]() |
No to popatrz.
Do bazy gdzie dodales wpis uzytkownika, dodajesz jeszcze jedno pole o nazwie np. kod. Przy rejestracji wstawiasz tam cokolwiek, np. bierzesz losowe slowo i haszujesz je w md5 i zapisujesz je do bazy. Potem piszesz skrypt ktory przyjmuje argument z get-a np w forme aktywuj.php?kod=fgdf5gbfdg5 i skrypt sprawdza poprawnosci kodu i uaktywnia dane konto. Co do drugiego problemu to poprstu zrob skrypt ktory raz dziennie sprawdzi czy wszyscy bez aktywowanej rejestracji maja np konto niestarsze niz 7 dni, jezeli tak to usuwasz. -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
a czy nieaktywne konta bedzie usuwal admin.. hmmm.. to zalezy.. jezeli na serwie masz CRONA... podpinasz odpowiedni skrypt pod niego.. jezeli CRON'a jednak nie ma.. odpowiedni skrypt uruchamia Admin...
jest 3 mozliwosc: w kodzie strony..dodajesz kilka if'ow, czyli gdzies w pliku (albo w bazie danych) wpisujesz date i godzine..sprawdzasz te date przy kazdym uruchomieniu skryptu..jezeli minelo 24h uruchamiasz "kasowacz nieaktywnych kont" i wpisujesz w pliku (w DB) aktualne date i godz |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 1 Dołączył: 5.11.2005 Skąd: Bieruń city Ostrzeżenie: (0%) ![]() ![]() |
mozna zrobic zeby zamiast aktywacji do bazy dano jakies tam losowe haslo, np:
substr (md5 (microtime()),0 , 8); a w mailu wyslac te haslo. user se wchodzi do ustawien i je zmienia na takie jakie chce. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
1. Dodajesz trzy pola do tabeli
Kod user_active int(1) NOT NULL DEFAULT 0, user_activation_code char(255) NOT NULL DEFAULT '', user_registration_time int(9) NOT NULL DEFAULT UNIT_TIMESTAMP() Po rejestracji użytkownika zapisujesz czas zarejestrowania (znacznik unixowy). Pole 'user_active' dajesz na 0. Generujesz kod aktywacyjny:
Tworzysz plik activate.php gdzie przez $_GET['code'] przekazesz kod aktywacji (wysyłasz mailem link http://strona.pl/activate.php?code=TEN_KOD) po czym sprawdzasz czy 'user_active = 0' a następnie jeżeli tak to aktualizujesz odpowiednie pola (zmieniasz user_activation_code na '') 2. CRON lub odpowiedni kod w np. index.php, jeżeli chcesz aby automat to za Ciebie robił... jeżeli chcesz to robić ręcznie to możesz do panelu administracyjnego nową stroną "Aktywacja użytkowników" zrobić a w niej wszystko co potrzebne ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
A po co zawalać sobie bazę przez nieużywane pole activation_code?
Nie lepiej zrobić md5 z loginu podanego podczas rejestracji, albo jeszcze lepiej z kilku pól naraz, np. sklejone razem login+haslo+data_aktywacji. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 897 Pomógł: 40 Dołączył: 16.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
2. Jeśli nie ma CRON'a to chyba lepiej jakiegoś triggera albo coś podobnego (oczywiście jeśli masz taką możliwość) wywoływanego przy np. SELECT'cie? Nie bedzie potrzeby zaprzęgać do tego jeszcze php...
-------------------- how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 2 Dołączył: 29.01.2004 Skąd: Rz-ów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(kszychu @ 2006-01-12 19:02:22) A po co zawalać sobie bazę przez nieużywane pole activation_code? Nie lepiej zrobić md5 z loginu podanego podczas rejestracji, albo jeszcze lepiej z kilku pól naraz, np. sklejone razem login+haslo+data_aktywacji. a co potem jak user kliknie w aktywuj?k=md5(login+haslo+data_aktywacji) jechac do calej bazie wybierac md5(login+haslo+data_aktywacji) i ? zaznaczyc pole aktywowany ? ja osobiscie wole osobna tabele na userow nieaktywnych i jak sie aktywuje przerzucam do userow.. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 402 Pomógł: 0 Dołączył: 20.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(ave @ 2006-01-13 02:29:34) a co potem jak user kliknie w aktywuj?k=md5(login+haslo+data_aktywacji) jechac do calej bazie wybierac md5(login+haslo+data_aktywacji) i ? zaznaczyc pole aktywowany ? aktywowac usera przez podanie loginu i md5. a potem nie zaznaczac pole aktywowany tylko wypelnic LastLogin i wuala... dwa zupelnie zbedne (czy_aktywny i kod_aktywacji) pola odpadly z bazy -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 23.03.2004 Skąd: N 50°03 Ostrzeżenie: (0%) ![]() ![]() |
Ja doklejam do linku id usera oraz hash loginu+id+'jakis mi znany string'
np:
i potem jak odbieram to sprawdzam, czy podane ID w bazie, wyciągam login i porównuje:
-------------------- WARSZTAT: Apache 1.3.27 | PHP 4.3.10 | MySQL 4.1 | PHPEd 4.0 or Pajączek 5.4.0 NxG | P4 2GHz | VIA P4PB400-FL | 1024MB DDR333
PROJEKTY |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:06 |