![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 2 Dołączył: 22.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, stworzyłem sobie banalny skrypt i logowania. Jest on oparty na sesjach.
Dane z rejestracji sa zapisywane w bazie MYSQL. Jak zrobic ze po zalogowaniu user bedzie widział "Witaj: NazwaZalogowanegoUzytkownika". To jest formularz logowania: Kod <?php session_start(); session_register("zalogowany"); if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0; //łaczenie z bazą function ShowLogin($komunikat=""){ echo "$komunikat<br>"; echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=text name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; echo "</form>"; echo "Jeśli nie jesteś zarejestrowany, <a href='index.php?show=rejestruj'>tu znajdziesz formularz</a>"; } ?> <?php if($_GET["awyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ if(mysql_num_rows(mysql_query("select * from user where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){ echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1; } else echo ShowLogin("Podano złe dane!!!"); } else ShowLogin(); } else{ ?> Gratulacje! Zalogowałeś się pomyślnie! <br><a href='index.php?wyloguj=tak'>wyloguj się</a> <?php } ?> </body> </html> <?php mysql_close(); ?> A to sesja z strony wymagajacej logowania Kod <?php
session_start(); ?> <?php if($_SESSION["zalogowany"]==0){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();} ?> Ten post edytował yayco 24.01.2008, 13:41:04 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Dodaj sobie zmienną do sesji, np. $_SESSION['nazwa_uzytkownika'] = $_POST["login"];
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 25 Dołączył: 4.07.2007 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Według mnie najlepiej do sesji ustawić id usera. Jeśli sesja istnieje jest zalogowany, jeśli potrzebujesz jakiekolwiek dane o nim ściągasz je z bazy.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 2 Dołączył: 22.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
@kszychu
Twoj pomysł by mi odpowiadał, tylko ze cos mi nie chce wychodzić Dodaje Kod $_SESSION['nazwa_uzytkownika'] = $_POST["login"]; echo 'Witaj'.$_SESSION['nazwa_uzytkownika'].'.'; I nic, jedem początkujacy jakby co :/ Czy ktos mi może pomuć? ;/ |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@bartg po to jest sesja by po podstawowe rzeczy usera nie biegac za kazdym razem do bazy.
@yayco skoro nic ci nie wypisal to $_POST['login'] jest puste lub nie istnieje. Masz to przypisanie zrobic tylko raz, po wypelnieniu formularza logowania. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 2 Dołączył: 22.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki juz działa.
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:42 |