Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z wylogowaniem, jak pozbyc sie sesji nie uzywajac session destroy
*greg*
post 6.03.2007, 13:59:25
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.01.2007

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


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
Go to the top of the page
+Quote Post
luki100011
post 6.03.2007, 14:08:50
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

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


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.


--------------------
Go to the top of the page
+Quote Post
*greg*
post 6.03.2007, 14:39:21
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.01.2007

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


hm
a nie da rady w jakis sposob nadpisac starej sesji nowa??
Go to the top of the page
+Quote Post
Babcia@Stefa
post 6.03.2007, 18:18:20
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


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


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
*greg*
post 7.03.2007, 11:14:33
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 19.01.2007

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


dzieki za porady, juz wszystko dziala
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:52