Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z wylogowaniem
Forum PHP.pl > Forum > PHP
*greg*
witam

tworze skrypt odpowiedzialny za logowanie i wylogowanie urzytkownikow.
wyglada tak:
  1. <?php
  2. require_once("classes/user.php");
  3.  
  4.  
  5.  
  6.  
  7. if (isset($_POST['wyloguj'])) {
  8. if ($_POST['wyloguj']=="1")
  9. SetCookie("user","",time()-3600);
  10.  
  11. }
  12.  
  13.  
  14. if (isset($_COOKIE['user'])) {
  15. $user = new User();
  16. $user->setLogin($_COOKIE['user']);
  17. $user->zaloguj();
  18. include_once("wyloguj.html");
  19.  
  20. }
  21. if (isset($_POST['login']) && isset($_POST['pass'])) {
  22. $user = new User();
  23. $user->setLogin($_POST['login']);
  24. $user->setPassword($_POST['pass']);
  25. $user->zaloguj();
  26.  
  27.  
  28. SetCookie("user",$_POST['login'],time()+3600);
  29.  
  30. include_once("wyloguj.html");
  31.  
  32. }
  33.  
  34.  
  35. if (!isset($_SESSION['user'])) {
  36. include_once('login.html');
  37. } else {
  38. $user = $_SESSION['user'];
  39. print_r($user);
  40. echo("LOGIN: ".$user->getLogin()."!!!<br>");
  41. }
  42. //echo $_COOKIE ["user"];
  43.  
  44. ?>

skrypt dziala poprawnie jednak brak w nim fragmentu kodu , ktory odpowiadalby za usuniecie sesji (nie moge uzyc session destroy), ma to dzialac tak ze po kliknieciu wyloguj, wyswietla sie okno z formularzem do logowania, a w obecnej postaci tak nie jest:_(. ktos mi doradzil aby nadpisac pusta sesja, wykorzystujac funkcje zapisana w klasie isLogged, ale niestety nie mam pojecia jak ta funkce zapisac i wykorzystac.
zalaczam jeszcze classes/user:
  1. <?php
  2.  
  3. class User {
  4. var $Login;
  5. var $Password;
  6. var $isLogged = false;
  7.  
  8. function User() {
  9.  
  10. }
  11.  
  12. function setLogin($login) {
  13. $this->Login = $login;
  14. }
  15.  
  16. function getLogin() {
  17. return $this->Login;
  18. }
  19.  
  20. function setPassword($password) {
  21. $this->Password = $password;
  22. }
  23.  
  24. function getPassword() {
  25. return $this->Password;
  26. }
  27.  
  28. function zaloguj() {
  29. //tu bedzie sprawdzanie loginu i hasla w bazie danych
  30.  
  31. $this->isLogged=true;
  32. $_SESSION["user"]=$this;
  33. }
  34. function isLogged() {
  35.  
  36. questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
  37.  
  38. }
  39.  
  40. }
  41.  
  42. ?>


pozdrawiam
luki100011
Hmmm pewnie w jakieś zmiennej w sesji przechowujesz informacje o tym że ktoś jest zalogowany lub nie questionmark.gif

Jeżeli tak to usuń tę informację i tyle. Sesja pozostanie a User będzie wylogowany.
*greg*
hm
a nie da rady w jakis sposob nadpisac starej sesji nowa??
Babcia@Stefa
session_unset" title="Zobacz w manualu PHP" target="_manual służy do usuwania pojedynczych zmiennych sesji np. usuniesz $_SESSION['username'] stosując session_unset" title="Zobacz w manualu PHP" target="_manual w takiej formie:
  1. <?php
  2. session_unset('username');
  3. ?>


Dziękuję, Babcia@Stefa
*greg*
dzieki za porady, juz wszystko 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.