![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 435 Pomógł: 40 Dołączył: 16.02.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak użyć sesji do logowania na stronę? Czy możesz mi napisać przykładowy skrypt?
-------------------- Linkedin | ...
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
hmm... wiec ja uzywam tak:
Kod if(poprawny nick i haslo z bazy) {
$_SESSION['user'] = 1; session_register("nick"); // rejestruje nick $id = $wiersz['id']; // id pobrany z bazy mysql session_register("id"); //rejestruje id ktorym posluguje sie user na stronie przez co moze zmienic nicka echo "Witaj $nick"; } else { //tutaj formularz } a na stronie inncyh wstawiam: Kod if(isset($_SESSION[user])) {
echo "jestes zalogowany"; } else { echo "zaloguj sie"; } oczywiscie na kazdej stronie musi byc: Kod session_start();
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 14.01.2003 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Przykładowy skrypt:
login.php Kod <?
//rozpoczecie sesji session_start(); //gdy wystapiła próba zalogowania if( $HTTP_POST_VARS['login'] && $HTTP_POST_VARS['pass'] ){ //sprawdzenie poprawnosci wprowadzonych danych if( $HTTP_POST_VARS['login']=="login" && $HTTP_POST_VARS['pass']="1234"){ $uzytkownik=$login; //zarejestrowanie zmiennej sesji session_register('uzytkownik'); //mozna przekierowac przez naglowek header("Location: nastepna_strona.php?".SID); //lub uzyc linku //print("<a href="nastepna_strona.php">Możesz wejść</a>"); } else{ //nieprawidłowy login lub hasło print("Próba zalogowania się nie powiodła."); exit(); } } else{ //gdy nie było próby logowania wyswietl formularz ?> <h2 align=center>Logowanie</h2> <form method="post" action="login.php"> <table align=center> <tr> <td>Login: </td> <td><input name="login" type="text"></td> </tr> <tr> <td>Hasło: </td> <td><input name="pass" type="password"></td> </tr> <tr> <td align=center colspan=2><input type="submit" value="Zaloguj"></td> </tr> </table> </form> <? } ?> każda następna strona powinna sie zaczynac Kod session_start();
if(session_is_registered('uzytkownik')){ //tresc dla zalogowanego uzytkownika ... } else{ print("Uzytkownik nie zalogwany. dostęp zabroniony"); exit(); } Powinno zadziałać :wink: |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 335 Pomógł: 6 Dołączył: 7.03.2002 Ostrzeżenie: (0%) ![]() ![]() |
logon.php
Kod session_start();
if( isset( $_SESSION['login']) ){ header( 'Location: index.php' ); exit(); } if( isset( $_POST['login'] ) && isset( $_POST['pass'] ) ){ ... pobieranie danych z bazy $result['pass'] - zmienna z haslem z bazy danych zakodowana md5() $result['email'] - email pobrany z bazy danych $result['last_ip'] - wiadomo co $result['last_logon']- wiadomo co ... if( isset( $result['pass'] ) ){ similar_text( md5( $_POST['pass'] ), $result['pass'], &$simres); if( $simres == 100 ){ // Sprawdzanie poprawnosci hasla $_SESSION['login'] = $_POST['login']; $_SESSION['email'] = $result['email']; $_SESSION['last_ip'] = $result['last_ip']; $_SESSION['last_logon'] = $result['last_logon']; header( 'Location: index.php?'.SID ); ' przenosi do strony gdzie ma byc przekazana sesja po zalogowaniu exit(); } } session_destroy(); header( 'Location: logon.php?err=1' ); 'jezeli login lub haslo nie zostalo przeslane do skryptu wypisuje blad exit(); }else{ if( isset($_POST['err'] ){ echo "Jakis komunikat o bledzie"; } ... miejsce na formularz ... } index.php Kod session_start();
if( isset( $_SESSION['login']) ){ ... jakis kod strony ... }else{ session_destroy(); header( 'Location: logon.php' ); 'jezeli nie ma danych sesji to idziemy do formularza } |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:42 |