![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 4.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry.
Mam problem z logowaniem użytkowników z różnymi rolami. Napisałam coś takiego, gdy już user zostanie znaleziony w bazie to zależnie od roli jaką posiada powinien zostać przekierowany do swojego panelu i powinna zostać utworzona dla niego sesja. Nie wiem gdzie mam błąd i dlaczego tak a nie inaczej. Proszę o pomoc i wyjaśnienie jak powinnam to zrobić. EDIT1: Problem polega na tym że użytkownik nie zostaje przekierowany. User zostaje ponownie przekierowany do formularza gdzie dostaje komunikat o błędnych danych logowania
Tutaj połączenie z bazą
user wypełnia zwykły formularz Ten post edytował agata 4.12.2009, 15:22:22 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 22.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiń ten problem. Narazie napisałaś tylko, że masz problem, a nie napisałaś jaki. Czy wogóle samo logowanie Ci działa? Sam kiedyś z tym walczyłem, więc mogę Ci pomóc.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
mysql_affected_rows zawsze zwróci 0, ponieważ nie ma zastosowania z zapytaniem typu select.
zamiast: zrób: Poza tym
nigdzie w kodzie nie widzę zmiennej $rola, pewnie powinna być wyciągnięta z tabeli users. No i to zapytanie
zwróci to, co podajesz jako parametr. Ten post edytował korro 4.12.2009, 15:11:30 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 4.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie nie ma zmiennej $rola i zapytanie też jest nieprawidłowe. Rozumiem gdzie są błedy i dlaczego jednak nie mogę dojść do tego jak poprawnie wyciągnąć rolę z bazy tak żeby zadziałało to z instrukcjami if else.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Zamiast:
coś takiego, ale pisane z ręki, więc pewnie z błędami:
można to uprościć, ale powinno działać. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 4.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nadal występuje błąd w postaci ponownego przekierowania na stronę logowania z informacją o błędnych danych logowania.
Może mi ktoś to wytłumaczyć łopatologicznie ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pokaż swój kod po poprawkach korro
-------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 4.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam.
Po walce udało mi się w końcu rozwiązać ten problem. Dzięki wszystkim za pomoc uwagi okazały się pomocne, chociaż zrobiłam to po swojemu. To kod który działa poprawnie, jeśli jednak ktoś zauważy jakieś błędy lub lepsze rozwiązania proszę o uwagi.
Jeszcze raz dziękuję za pomoc ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Role, login i hasło możesz wyciągnąć z bazy za jednym razem. Zapytania są niemal identyczne.
Teraz nawet jeśli pierwsze zapytanie nic nie zwróci, wykonujesz drugie. Edit: w zasadzie, to login i hasło nie są potrzebne pobieraj tylko role. Ten post edytował korro 7.12.2009, 16:05:45 -------------------- |
|
|
![]()
Post
#10
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
jak już ~korro napisał 2 razy zapytanie do db nie jest jakoś strasznie wymagane swobodnie można to na jednym zrobić. po za tym kod jest podatny na sql injection.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 04:49 |