세션 클레스입니다. 사용 방법은 다음 소스를 참고해서 작성하면 되겠습니다.

<?php
/*
 * session.class.php
 */

/*

include('session.class.php');


setsession('세션이름', '유지시간', '저장경로');

// 세션 굽기
$session = new setsession('my_session');
$session->put_session('my_id', 'habony');
$session->put_session('my_pw', 'password');
$session->put_session('my_email', 'hahaha@daum.net');
$session->session();

// 세션 가져오기
echo $session->get_session('my_email');

// 세션 부분 삭제
$session->session_unregister('my_email');

// 세션 전체 삭제
$session = setsession('my_session');
$session->remove_session();
*/
class setsession
{
  var $session;
  var $key;
  var $name;
  var $expire;
  var $path;
  
  function setsession($name, $expire=0, $path='/')
  {
    $this->name = stripslashes($name);
    $this->expire = addslashes($expire);
    $this->path = addslashes($path);
    $this->key = md5($this->name);
    $this->session = unserialize($_SESSION[$this->key]);
  }

  function put_session($key, $val)
  {
    $this->session[$key] = rawurlencode(stripslashes($val));
  }

  function session()
  {
    $this->session_register();
    return true;
  }

  function get_session($key)
  {
    return rawurldecode($this->session[$key]);
  }

  function session_register()
  {
    if(function_exists("session_register")
      && (PHP_VERSION < '5.3.0'))
    {
      session_register($this->key);
    }
    $_SESSION[$this->key] = serialize($this->session);
  }

  function session_unregister($key)
  {
    unset($_SESSION[$key]);
  }

  function remove_session()
  {
    session_write_close();
    $_SESSION = array();

    if(isset($_COOKIE[session_name()]))
    {
      setcookie(session_name(), '', $this->expire-42000, $this->path);
    }
    @session_destroy();
  }
}
?>

0 댓글