Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nauka php, rejestracja i logowanie
Forum PHP.pl > Forum > Przedszkole
Outside
Witam, od jakiegos czasu uczę się php i wpadlem na pomysl, ze zamiast uczenia sie pojedynczo wszystkiego lepiej zaplanuję sobię jakiś projekt i będę dążył do zrobienia go takiego jaki sobie zaplanuję. Na początek chciałbym zrobić system rejestracji i logowania. Zaplanowałem sobie co musi się tam znajdować:
-baza mysql: ID, LOGIN, HASLO, EMAIL
-rejestracja: login, haslo, potwierdz haslo, email, potwierdz email, zaakceptuj regulamin
*sprawdzanie czy podany login juz istnieje, sprawdzanie czy hasla i emaile sa poprawne, sprawdzanie czy regulamin jest zaakceptowany
*uzyje połączenia pdo
*zabezpieczenie przed xss
-logowanie: login, haslo
*sprawdzanie czy login i haslo jest poprawne
*utworzenie sesji
-dostep do strony dla zalogowanych
*Sprawdzanie czy uzytkownik jest zalogowany, jesli tak pokaz tresc, jesli nie przekieruj do logowania
Po zrobieniu tego wrzucę do oceny, a do tematu mam kilka pytan:

1.Co sadzicie o takiej formie nauki? Oczywiscie z php mialem juz stycznosc, uczylem sie z ksiazki PHP i MySQL tworzenie stron www Vademecum Profesjonalisty.
2.Czy czegos brakuje w tym systemie rejestracji i logowania?
3.Czy PDO trzeba zabezpieczyc przed SQL Injection czy nie?
-student137-
Wg mnie fajny pomysł, byłby jeszcze lepszy jakbys zrobil z tego tutorial, albo co jakiś czas pisał o postepach prac nad projektem. Chociaż najlepszy bylby tutorial.
Mega_88
Możesz jeszcze dodać aktywację konta po rejestracji ( link aktywacyjny wysyłany na email ) czyli w bazie dodaj jeszcze pole "status" ( 0 / 1 )
Sephirus
Pomysł najlepszy z możliwych - staraj się jednak od razu nie stosować wszystkiego co znajdziesz o logowaniu i rejestracji - o co mi chodzi:

1. Rób małymi kroczkami po kolei najprościej jak się da
2. zrób najpierw podstawowe logowanie i rejestrację, potem pomyśl nad zabezpieczeniami, aktywacjami konta itd - nie rob tego od razu - dzięki temu będziesz miał pewność co nie działa
3. jeśli zrobisz cały system i będzie on gotowy - poczytaj i poszukaj najlepszych praktyk, popytaj - ale nie patrz w kod - staraj się to uwzględnić u siebie (np zapamiętywania "na komputerze")

Dodatkowo zrób sobie raz systemik oparty na przekierowaniach a raz na AJAX - w ten sposób poznasz dwie techniki i ocenisz sam która jest lepsza dla Ciebie wink.gif
Outside
-@student137-
Po zrobieniu tego o czym wyzej pisalem wrzucę to na forum do oceny i bede tam wrzucal coraz to nowsze rzeczy jakie dodalem, a kto wie moze kiedys wlasnego bloga zrobię i umieszczę tam taki tutorial smile.gif

@Mega_88
Co do aktywacji konta to oczywiscie mam to zamiar wprowadzic, ale dopiero pozniej poniewaz na razie nie mam o tym bladego pojecia jak takie cos wykonac.

@Sephirus
Na poczatku zrobię bazę danych i dodam tam uzytkownika admin/admin (haslo zakodowane w md5) i samo logowanie czy zadziala, po tym zrobię rejestrację dopiero i sprawdzanie loginu w bazie danych. Co do Ajaxa od zawsze mi się on podobał, ale pierw chcę ogarnąć php, pozniej wziac sie za ajaxa, jquery nastepnie za programowanie obiektowe.
b4rt3kk
@Sephirus o jakich przekierowaniach mówisz? Po przesłaniu formularza, czy w przypadku braku dostępu? Czy jeszcze o czymś innym? Hmm? Opieranie logowania na ajaxie nie jest zbyt mądrym pomysłem, wystarczy że ktoś wyłączy obsługę JS.
Sephirus
@up

Przekierowania w sensie "bez ajaxa". Wysyłasz form POSTem, sprawdzasz, przekierowywujesz na stronę logowania itd... Ewentualnie postback ale nie polecam tej techniki ogólnie.

Opieranie logowania na ajaxie to nic złego - wyłączenie JS to nie argument - większość aplikacji nie pozwala na korzystanie bez JS a żyjemy w 21 wieku nie 20... Teraz głupie telefony wspierają w pełni JS. Takie logowanie jest bardzo wygodne i wydajne:

1. wysyłamy tylko dane i otrzymujemy z powrotem jedynie status czy się udało zalogować czy nie - mało informacji
2. wysyłamy tylko jeden request na logowanie (w przypadku zwykłego logowania bez postback - 2)
3. nie istnieje problem "znikających już wpisanych danych"

wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.