Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wyjście z sesji
Forum PHP.pl > Forum > Przedszkole
wSBk
Witam.
Używam systemu logowania:
  1. <?php
  2. $uzytkownicy = array(=>
  3. array('login' => 'user1', 'haslo' => md5('ppp')),
  4. array('login' => 'user2', 'haslo' => md5('ddd')),
  5. array('login' => 'user3', 'haslo' => md5('fff'))
  6. );
  7. function czyIstnieje($login, $haslo){
  8. global $uzytkownicy;
  9. $haslo = md5($haslo);
  10. foreach($uzytkownicy as $id => $dane)
  11. {
  12. if($dane['login'] == $login && $dane['haslo'] == $haslo) {
  13. return $id;
  14. }
  15. }
  16. return false;
  17. }
  18. if(!isset($_SESSION['uzytkownik'])){
  19. $_SESSION['uzytkownik'] = 0;
  20. }
  21. if($_SESSION['uzytkownik'] > 0){
  22. echo 'Witaj, '.$uzytkownicy[$_SESSION['uzytkownik']]['login'].' na naszej stronie!';
  23. }
  24. else
  25. {
  26. if($_SERVER['REQUEST_METHOD'] == 'POST') {
  27. if(($id = czyIstnieje($_POST['login'], $_POST['haslo'])) !== false) {
  28. $_SESSION['uzytkownik'] = $id;
  29. echo 'Witaj, '.$uzytkownicy[$_SESSION['uzytkownik']]['login'].' w Intranecie!';
  30. header("Location: index.php");
  31. } else {
  32. print '<script language="Javascript">alert ("Wprowadzono błędne dane. Proszę wpisać ")</script>';
  33. header("Location: <a href="http://www.example.com/");" target="_blank">http://www.example.com/");</a>
  34. }  
  35. } else {
  36. print '<form method="post" action="index.php">';
  37. print 'Prosimy o zalogowanie się:';
  38. print '<div class="logowanie_txt">';
  39. print 'Imię i nazwisko:';
  40. print '</div>';
  41. print '<div class="logowanie_input">';
  42. print '<input type="text" class="logowanie_pole" name="login" />';
  43. print '</div>';
  44. print '<div class="logowanie_txt">';
  45. print 'Hasło dostępowe:';
  46. print '</div>';
  47. print '<div class="logowanie_input">';
  48. print '<input type="password" class="logowanie_pole" name="haslo" />';
  49. print '</div>';
  50. print '<div class="logowanie_przycisk">';
  51. print '<button type="submit">Zaloguj</button>';
  52. print '</div>';
  53. print '</form>';
  54. }  
  55. }
  56. ?>

W jaki sposób mogę mogę się wylogować, oczywiście pomijając wyłaczenie przegladarki. Jaką powinna wygladac funkcja wyjscia z sesji?
in5ane
  1. <?php unset($_SESSION['uzytkownik']); ?>



A dokladniej to:
  1. <?php
  2.  
  3. if(isset($_POST['wylogowanie'])) {
  4.  
  5. unset($_SESSION['uzytkownik']);
  6. }
  7.  
  8. echo '<form action="#" method="post">
  9. <input type="submit" name="wylogowanie" value="Wyloguj">
  10. </form>';
  11. ?>


Coś napewno wykombinujesz z tego.
wSBk
OK, myślę o rozwiązniu trochę w sposób dodania pliku wyloguj.php
  1. <?php
  2. if($_SESSION['uzytkownik'] > 0){
  3. unset($_SESSION['uzytkownik']);
  4. echo 'Do zobaczenia jutro.';
  5. echo '<a href="index.php">Strona startowa</a>';
  6. } 
  7. if($_SESSION['uzytkownik'] = 0){
  8. print 'Zaloguj się <a href="index.php"> Strona logowania</a>.';
  9. }
  10. ?>

Hmm, nieiwem dlaczego ale ten kod niczego nie wyświetla sad.gif i się nie wykonuje sad.gif

Zauważyłem też że po proprawieniu kodu:
  1. <?php
  2. if($_SESSION['uzytkownik'] < 1){
  3. echo 'Do zobaczenia jutro.';
  4. echo '<a href="index.php">Strona startowa</a>';
  5. unset($_SESSION['uzytkownik']);
  6. } else {
  7. print 'Zaloguj się <a href="index.php"> Strona logowania</a>.';
  8. }
  9. ?>


Wyjście z sesji się nieudaje i powracając na index.php widze komunikat zalogowanego usera
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.