![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Napisałem skrypt rejestracji (to było banalne) i zacząłem się bawić ze skryptem do logowania. Niestety, tu już było trochę gorzej ale po paru łądnych godzinach dałem rade. Teraz mam jedno pytanie: Czy aby nie za dużo instrukcji warunkowych?
Funkcja wygląda mniej-więcej tak: jeśli formularz wypełniony dobrze { -jeśli login istnieje w bazie{ --jeśli hasło podane w formularzu jest takie samo jak to zakodowane w bazie dla danego loginu{ ---jeśli jest już zalogowany{ ---} ---jeśli NIE jest zalogowany{ ---} --} -} Logowanie opiera się na stworzeniu ciastka z danymi: 1. kod sesji (te składa się między innymi z aktualnego czasu i adresu itp. a to wszystko podwójnie zaszyfrowane odmiennymi metodami) 2. Login pobrany z formularza Tylko teraz obojętnie co chce zrobić związanego z wymuszeniem logowania, musze podać trzy warunki i to trochę mi sie wydaje nie takie jak powinno. Gdy użytkownik sie wylogowuje to kod sesji w ciastku ustawia się na 'brak_sesji' a sesja w bazie danych na 1. Przykład: System komentarzy jest dostepny tylko dla zalogowanych i mam funkcję if/elseif, która sprawdza czy jest zalogowany. Jeśli użytkownik nie jest zalogowany (Wszystko w instrukcji if): 1. Sprawdzenie czy sesja z ciastka i z bazy są różne 2. Sprawdzenie sesja jest rózna 'brak_sesji' 3. sprawdzenie czy sesja w bazie wynosi 1 (podczas wylogowania w bazie sesja dla danego użytkownika przyjmuje wartość 1 aby zapobiec błędom, gdy ciastko nie będzie zawierało żadnych danych. Bo podczas porównywania ciastka z bazą, tutaj i tutaj będzie pusty wynik więc tak na dobrą sprawę będzie zalogowany - dlatego też tak dużo warunków) Jeśli użytkownik jest zalogowany(wszystko w instrukcji elseif): 1. Sprawdzenie czy sesja z ciastka i z bazy są takie same 2. Sprawdzenie czy sesja z ciastka nie jest równa 'brak_sesji' Teraz moje pytanie: Można się czegoś pozbyć, żeby było mniej kodu? Lub co ewentualnie zamienić na co, żeby było prościej i szybciej bez utraty 'jakości(?)' kodu? Ja wiem, "program nie zrobi tego czego nie przewidzi jego Twórca", dlatego tez tak dużo warunków. testowałem już chyba wszystkie możliwe scenariusze, które mogą wystąpić i podczas logowania i podczas sprawdzania czy jest zalogowany aby wyświetlić formularz dla komentarzy. Ten post edytował adbacz 10.05.2011, 13:45:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:39 |