![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 1 Dołączył: 15.03.2008 Skąd: Mirostowice Dolne Ostrzeżenie: (0%) ![]() ![]() |
Witam,
nie bardzo wiem co jest źle ale w przybliżeniu postaram się przedstawić co nie działa. Zacznę od tego, że piszę CMS'a, panel usera działa ale nie działa nawet logowanie do panelu admina. Nazwa sesji jest inna, chyba powinno działać. Może po kolei, działa formularz, bo przesyła dane do walidacji (wiem bo jak podam złe dane to mam o tym komunikat). Po przesłaniu, teoretycznie zapisuje dane pod zmiennymi sesji (np. $_SESSION['login'). I tu chyba się zaczynają już problemy, bo dla bezpieczeństwa napisałem funkcję, która sprawdza, czy zalogowany jest użytkownik i czy ma on prawa admina. Nie działało mi to, więc dopisałem trochę i wiem już gdzie jest błąd. Na samym początku funkcji, kiedy przypisuję sobie zmienne
Wychodzi na to, że zmienna $_SESSION['login'] jest cały czas pusta. I nie mam pojęcia czemu. Prędzej jest instrukcja przypisania do niej danych z formularza, do innych zmiennych innych danych. Ale nie działa. Już nie wiem, czy pisać od początku czy co bo mnie trafia. Jak czegoś nie dopisałem, to powiedzcie, dopiszę, tylko proszę, pomóżcie. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
1. Pokaż więcej kodu
2. Skoro pisałeś funkcję, to możliwe że nie przekazałeś zmiennej sesyjnej jako parametr do niej. -------------------- O! Zimniok :P
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 20.03.2010 Ostrzeżenie: (10%) ![]() ![]() |
może brakuje session_start(); na początku pliku??
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 1 Dołączył: 15.03.2008 Skąd: Mirostowice Dolne Ostrzeżenie: (0%) ![]() ![]() |
Co do kodu to wierzcie mi, nie ma tam nic nadzwyczajnego, sprawdzałem kilkanaście razy. Po drugie, zmienne sesyjne to raczej zmienne globalne, ale mimo to próbowałem przekazywać z parametrem i nie, żaden sposób nie działa. Po trzecie, może nie jestem z php najlepszy, ale session_start() dałem
![]() Ale kod wygląda mniej więcej tak: To wyżej to przypisanie zmiennym tymczasowym danych z formularza, to jeszcze działa.
To (po odpowiedniej walidacji) jest przypisanie zmiennym sesji wcześniej podanych danych, też działa bo przechodzi na index.php więc do tego momentu działa. Tak wygląda logowanie, jak coś jest nie tak to wywala błędy (w przypadku złych danych), więc wszystko gra. Problem pojawia się przy sprawdzaniu użytkownika podczas pracy, wychodzi na to, że w ogóle nie ma przy zmiennej $_SESSION['admin_login'] login wcześniej przypisanego i reszty chyba też bo mam na próbę tak, że jak tego nie ma to mi o tym mówi no i nie wiem czemu.
Rekord w bazie mam, to nie o to chodzi. Sama próba wyświetlenia zmiennej $aLogin kończy się tym, że nie wyświetla nic, więc tak jakby jej w ogóle nie było, a przecież jest. Może teraz coś podpowiecie? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 6 Dołączył: 2.02.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 1 Dołączył: 15.03.2008 Skąd: Mirostowice Dolne Ostrzeżenie: (0%) ![]() ![]() |
Tutaj dałem błąd ale rzeczywiste nazwy zmiennych są inne i są takie same. Są może jakieś ograniczenia co do nazw sesji i zmiennych sesji?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:34 |