![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Siemanko.
Napisałem sobie prosty skrypt logowania. Skrypt po zalogowaniu przekierowywuje na index2.php poprzez header(). Niestety gdy używam else aby wyświetlić niepowodzenie operacji, to while mi powiela komunikat. Dzieje się chyba dlatego ponieważ sprawdzam dwie zmienne ? Nie wiem dokładnie. Kod przedstawia się następująco:
Komunikat: Kod Niepoprawne dane. Zaloguj sie ponownie! <a href="logowanie.php" >Logowanie</a> Zostaje powielany. Wiem że jest on w petli, ale jak jest gdzie indziej to nie działa ![]() Chciałem zastosować też header(), ale wtedy nawet gdy podam poprawne dane w formularzu to przekierowuje mnie na logwanie.php bez sesji... Da sie to jakos inaczej wyświetlić ? Próbowałem foreach, ale niestety dzialania tej instrukcji nie kumam do końca. Dzięki za odpowiedzi ![]() Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Trzeba zacząć od analizy gotowych kodów i przyjąć pewną logikę. Postaram się Tobie wytłumaczyć jak to powinno wyglądać. 1. Pobieram od użytkownika login oraz hasło 2. Sprawdzam jednym zapytaniem czy istnieje w bazie user o takim loginie i takim haśle 3. Istnieje, to przekierowuję, nie wyświetlam błąd U Ciebie jest tak 1. Pobieram wszystkich użytkowników z bazy 2. Sprawdzam czy do któregoś pasuje login lub hasło (ta zasadnicza różnica pomiędzy || a && - || oznacza że obojętnie który warunek musi być spełniony czyli w Twoim przypadku wystarczy, że znajdzie uzytkownika o danym loginie lub danym haśle i nie muszą wcale one pasować do siebie, && oznacza, że szuka usera, który ma login jakiś tam i hasło przypisane i oba warunki muszą być spełnione) 3. Dla każdego użytkownika pobranego, jeżeli hasło i login nie pasują wyświetlam błąd Widzisz różnicę? Po co pobierać wszystkich użytkowników, jak szukasz tylko jednego? I pamiętaj, jak coś nie działa, to nie dlatego, że jest złe w swym założeniu, tylko Ty źle to zbudowałeś. Tak, widzę różnicę ![]() Dzięki za wytłumaczenie ![]() Tylko teraz jak już sprawdze czy dany user istnieje w bazie (Twoim sposobem) to co dalej ?
EDIT //////// Do przykładowego wyświetlania po zapytaniu użyłem:
Chciałem sprawdzic na szybko czy dobrze czyta uzytkowników. Teraz kwestia tego żeby wyświetlić error w przypadku podania złych danych lub gdy sa one prawidlowe uzycia header() lub innego przekierowania. Chodzi tu chyba tylko jaki warunek dac w if, aby rozpoznawalo kiedy ma przekierowac a kiedy wyswietlic blad. Ten post edytował Bureau 10.04.2012, 13:43:22 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 19:17 |