Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy taka sesja się nadaje?
Forum PHP.pl > Forum > Przedszkole
tmk
Witam, zamierzam zrobić dostęp do wybranych podstron tylko po wcześniejszym zalogowaniu. Zacząłem tak:
  1. <?php
  2. // index.php 
  3. $_SESSION['zalogowany'] = true; 
  4. ?> 
  5. <a href=\"pokaz.php\">pokaz</a>


  1. <?php
  2. // pokaz.php 
  3. if( $_SESSION['zalogowany'] ) 
  4. { 
  5. echo 'zalogowany'; 
  6. } 
  7. else 
  8. { 
  9. echo 'niezalogowany'; 
  10. }
  11. ?>

To działa, ale mam pytania:
Czy można do tego dodać opcje "wyloguj" ? da się przerwać sesje(inaczej niz zamykając przeglądarke)?
I czy taki sposób połączony z bazą MySQL (w której są użytkownicy i hasla) jest sensowny i nadaje się do bezpiecznego (wiadomo, ze nie w 100%)zastosowania?
Czy dostęp do podstron w zalogowaniu robi się wogóle w inny sposób?

pozdrawim, tmk
bregovic
http://pl.php.net/manual/pl/ref.session.php - a konkretnie szukaj session_destroy()...
Tak, sensownie polaczyc to z mysql. I tak, zazwyczaj tak sie wlasnie robi winksmiley.jpg
scanner
wylogowanie można też zrealizowac poprzez
  1. <?php $_SESSION['zalogowany'] = false;
  2. ?>
yavaho
  1. <?php
  2. //albo tak
  3. unset($_SESSION['zalogowany']);
  4. //lub tak
  5. //lub tak
  6. ?>

Ale na kazdej stronie ktora ma byc dostepna tylko dla zalogowanych musisz sprawdzac czy sesja istnieje, tak aby nie bylo rowiez dostepu gdy ktos wpisze lub zmodyfikuje linka z palca.
tmk
Witam, mam plik wykonujący logowanie użytkownika:
  1. <?php
  2.  
  3. //łączenie z bazą
  4. $nazwa_tabeli = &#092;"nazwa_tab\";
  5. $username = mysql_escape_string($_POST['user']);
  6. $password = mysql_escape_string($_POST['haslo']);
  7.  
  8. $sql = &#092;"SELECT * FROM $nazwa_tabeli
  9. WHERE user = &#092;"$username\" AND haslo = password(\"$password\")\"; 
  10. $wykonaj = mysql_query($sql);
  11. $num = mysql_num_rows($wykonaj); 
  12.  
  13. if($num!=0){
  14.  $_SESSION['zalogowany'] = true;
  15.  header('Location:zalogowany.php');
  16. }
  17. else header('Location:not_logged.php');
  18.  
  19. mysql_close($connection);
  20. ?>

W pliku zalogowany.php (do którego przekierowało po zalogowaniu)chcę wyświetlić
Witam user
Jak odebrać w zalogowany.php inforamacje kto jest zalogowany(np user)?

pozdrawiam, tmk
harnas
Po sprawdzeniu poprawnosci logowania zarejestruj sesje i przypisz zmiennej sesji wartosc, tutaj login tego usera

$_SESSION['zalogowany']="tutaj login tego kogos wyciagniety np. z bazy";


a nastepnie na podstronach odwoluj sie do tego

if(isset($_SESSION['zalogowany']))
echo 'Witaj '. $_SESSION['zalogowany];


Ja przynajmniej tak robie i dziala:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.