Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesje - początki i mały problem
Szymciosek
post
Post #1





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Witam,
jak w temacie, mam mały problem z działaniem sesji.

index.php
  1. <?php
  2.  
  3. $users = array (1 => array ('login' => 'user1', 'password' => md5('haslo')),
  4. array ('login' => 'user2', 'password' => md5('haselko')),
  5. array ('login' => 'user3', 'password' => md5('pass')) );
  6.  
  7. function czyIstnieje($login, $haslo)
  8. {
  9. global $users;
  10.  
  11. $haslo = md5($haslo);
  12.  
  13. foreach ($users as $id => $dane)
  14. {
  15. if ($dane['login'] == $login && $dane['password'] == $haslo)
  16. {
  17. return $id;
  18. }
  19. }
  20.  
  21. return false;
  22. }
  23.  
  24.  
  25. if (!isset($_SESSION['user']))
  26. {
  27. $_SESSION['user'] = 0;
  28. } else {
  29. if($_SESSION['user'] > 0)
  30. {
  31. // Ktos jest zalogowany
  32. //echo 'Witaj, '.$uzytkownicy[$_SESSION['user']]['login'].' na naszej stronie!';
  33. header("Location: panel.php");
  34. } else {
  35. //Niezalogowany
  36. if ($_SERVER['REQUEST_METHOD'] == 'POST')
  37. {
  38. if (($id = czyIstnieje($_POST['login'], $_POST['haslo'])) !== false)
  39. {
  40. $_SESSION['user'] = $id;
  41. echo 'Dziekujemy, zostales zalogowany ! <a href="panel.php">Dalej</a>';
  42. } else {
  43. echo 'Podales nieprawidlowe dane <a href="session.php">Dalej</a>';
  44. }
  45. } else {
  46. echo '<form method="post" action="session.php">
  47. Zaloguj sie: <input type="text" name="login"/>
  48. <input type="password" name="haslo"/>
  49. <input type="submit" value="OK"/></form>';
  50. }
  51. }
  52. }
  53.  
  54. ?>
  55.  


panel.php
  1. <?php
  2.  
  3. //session_start();
  4.  
  5. echo 'Witaj w panelu<br />
  6. <a href="logout.php">Wyloguj</a>';
  7.  
  8. ?>


logout.php
  1. <?php
  2.  
  3.  
  4.  
  5. header("Location: session.php");
  6.  
  7. ?>


Wiem, że panel to bardzo prosta rzecz tutaj, bo wystarczy wejść na www.xxx.pl/panel.php i już, ale nie o to tutaj chodzi, chociaż możecie napisać o jakichś zabezpieczeniach z miłą chęcią poczytam, ale teraz do tematu:

Wchodzą w index.php widzę początkowo formularz logowania, który sprawdza czy podany user istnieje, jeśli tak i hasło się zgadza, to następuje przekierowanie do panel.php, gdzie mam przycisk WYLOGUJ, w logout.php zrobiłem usunięcie danych sesyjnych i sesji i na koniec przekierowanie z powrotem do index.php (u mnie to jest session.php), no i tu zaczyna się jakiś dziwny problem, sesji nie ma już chyba po session_unset i destroy, ale jeśli nastąpi mi przekierowania widzę tylko pustą stronę, dopiero po jej odświeżeniu wszystko wraca do normy i znowu mogę zobaczyć formularz logowania.

Druga sprawa, już napiszę przy okazji, jak w trakcie logowania zrobić przycisk PAMIĘTAJ MNIE, czytałem o tym i są tam owszem wykorzystane sesje, ale po co ciasteczka ?

Ten post edytował Szymciosek 13.05.2012, 20:21:58
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 00:22