Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> klasa logowania
Jim
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 27.07.2005

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


Witam,
poszukuję prostej, aczkolwiek efektownej klasy obsugujacej logowanie i sesje. jesli chodzi o programowanie obiektowe to za bardzo jeszcze nie jestem wtajemniczony dlatego prosze o pomoc.

Znalazlem spore archiwum klas o tej tematyce ale nie wiem ktora klase z tamtad wybrac (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) . znalazlem rowniez na tym forum taka oto klase:


  1. <?php
  2.  
  3. class Session {
  4.  
  5.     function Session() {
  6.         global $db;
  7.         $db->Execute("DELETE FROM `session` WHERE `endtime`<'".time()."'");
  8.         $this->sid;
  9.     }
  10.  
  11.  
  12.     function Start() {
  13.         global $db;
  14.         if(!isset($_COOKIE['CMS'])) {
  15.  
  16.             $sid = md5(getenv("REMOTE_ADDR").time());
  17.             $this->sid = $sid;
  18.             $time = time() + 3600;
  19.             $sql = "INSERT INTO `session` VALUES('{$this->sid}','{$time}',NULL,NULL)";
  20.             $db->Execute($sql);
  21.             setcookie("CMS",$this->sid,time()+3600);
  22.  
  23.         } else {
  24.             $this->$sid = $_COOKIE['CMS'];
  25.         }
  26.     }
  27.  
  28.  
  29.     function Destroy() {
  30.         global $db, $_COOKIE;
  31.         $sid = $_COOKIE['CMS'];
  32.         setcookie("CMS",1,time()-3600);
  33.         $db->Execute("DELETE FROM `session` WHERE `session_id`='{$sid}'");
  34.     }
  35.  
  36.  
  37.     function SaveVar($varname,$varvalue) {
  38.         global $db;
  39.         $result = $db->Execute("SELECT `vars` FROM `session` WHERE `session_id`='{$this->sid}'");
  40.  
  41.         while(!$result->EOF) {
  42.             $vars = unserialize($result->fields['vars']);
  43.         }
  44.         $vars[$varname] = $varvalue;
  45.         $save = serialize($vars);
  46.         $db->Execute("UPDATE `session` SET `vars`='{$save}' WHERE `session_id`='{$this->sid}'");
  47.     }
  48.  
  49.  
  50.     function GetVar($varname) {
  51.         global $db;
  52.         $result = $db->Execute("SELECT `vars` FROM `session` WHERE `session_id`='{$this->sid}'");
  53.  
  54.         while(!$result->EOF) {
  55.             $vars = unserialize($result->fields['vars']);
  56.         }
  57.         return $vars[$varname];
  58.     }
  59. }
  60.  
  61. ?>


i tereaz pytania:
czy $sid to id sesji? po co zapisywac to w bazie danych?
do czego sluzy funkcja destroy()?
jesli znacie lepsza klase to poprosze o przeslanie jej?

dzieki,
JIM
(IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

ps. moze gdyby podczepic temat z klasa logowania i opisem jak ja uruchomic, skonczylyby sie tematy typu 'jak zrobic logowanie'

Ten post edytował Jim 8.08.2005, 21:44:33
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: 22.08.2025 - 17:37