![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
w php "siedzę" od około 2-3 miesięcy. Ostatnio zacząłem się interesować tworzeniem systemu logowania/rejestracji na stronie. I napotkałem może niezbyt wielki, ale jednak problem. Otóż, stworzyłem formularz do logowania, gdzie użytkownik podaje nazwę usera i hasło. Jeżeli poda poprawne dane, to tworzę sesję, której przypisuję nazwę użytkownika z bazy danych: $_SESSION['username'] = $dbusername; . Po zalogowaniu na samej górze strony pojawia się Welcome i nazwa użytkownika. Pokazuje się ona praktycznie cały czas, aż do momentu, gdy nie kliknę na pasek adresu w przeglądarce i z tego poziomu przejdę na główną stronę. Wtedy wyświetla się już tylko Welcome. Co zrobić, by nazwa użytkownika (czyli, jak dobrze rozumiem również nazwa sesji) była widoczna cały czas? Dodam, bo być może to jest istotne, że cały system logowania mam w pliku top.php, który w pliku index.php jest dodany na początku poprzez include("top.php"); Dziękuję już teraz za wszelkie wskazówki. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 7 Dołączył: 17.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
A czy na początku w pliku index.php masz session_start()? A może kilka razy robisz session_start()?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam w pliku index.php na początku session_start();, w pliku top.php już nie (sprawdziłem i po dodaniu w top.php nic się niestety nie zmieniło).
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 7 Dołączył: 17.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Możesz podać więcej szczegółów, np. fragmenty kodu?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
INDEX.PHP
TOP.PHP
|
|
|
-mkdes- |
![]()
Post
#6
|
Goście ![]() |
Kod if(isset($_SESSION['username'])){
echo'Użytkownik zalogowany: '.$_SESSION['username']; } |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 7 Dołączył: 17.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po prostu jak przechodzi do strony głównej nie przekazujesz żadnych zmiennych w tablicy $_POST, m.in. 'login' i dlatego ten cały wielki warunek z wyświetleniem nazwy użytkownika jest pomijany.
btw. Cytat by nazwa użytkownika (czyli, jak dobrze rozumiem również nazwa sesji) To nie zawsze jest sobie równoważne. A często się zdarza, że tak nie jest. A i hasła w bazie danych powinno się trzymać w postaci zahaszowanej. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 30.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wskazówka mkdes pomogła, dziękuję! Kreciko, Tobie również, za poświęcony czas.
Natomiast co do hasła, to ja umieszczam je w bazie w postaci sumy (tak to się chyba mówi) md5. O to chodzi z haszowaniem? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 7 Dołączył: 17.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 04:34 |