현재 접속 세션 관련하여 문의 드립니다. 2022.12.01 14:47:50에 작성
- 게시글 작성자 박제영
- 게시글 조회수 1,132회
지금 사용중인 버전이
예전 버전인데요 pdo.scheme 를 사용하던...... 현재 접속 세션 기능을 사용안하고 로그인 기능만 사용하려고 하는데요 어느 부분을 수정해야 할까요 ;;; 아래는 session.class.php 파일 내용입니다. <?php namespace Corelib; class Session{ static function set_sess($name,$val){ if($name=='MB_IDX'){ SessionHandler::$dbinfo['mb_idx'] = $val; } $_SESSION[$name] = $val; } static function empty_sess($name){ global $_SESSION; if($name=='MB_IDX'){ SessionHandler::$dbinfo['mb_idx'] = 0; } unset($_SESSION[$name]); } static function drop_sess(){ session_destroy(); } static function sess($name){ if(isset($_SESSION[$name])){ return $_SESSION[$name]; }else{ return NULL; } } static function is_sess($name){ if(isset($_SESSION[$name])){ return TRUE; }else{ return FALSE; } } } class SessionHandler extends \Make\Database\Pdosql{ private $value; private $sess_life = SET_SESS_LIFE; private $expiry; static public $dbinfo = array(); public function open(){ return true; } public function close(){ return true; } public function get_scheme(){ $this->scheme('Core\\Scheme'); } public function read($key){ $this->get_scheme(); $this->query( $this->scheme->core('select:session'), array( $key ) ); $this->specialchars = 0; $this->nl2br = 0; if($this->getcount()>0){ return $this->fetch('value'); }else{ $this->expiry = time()+$this->sess_life; $this->query( $this->scheme->core('insert:session'), array( $key, $this->expiry, $_SERVER['REMOTE_ADDR'] ) ); return $this->fetch('value'); } return true; } public function write($key,$val){ $this->get_scheme(); $this->value = $val; $this->expiry = time()+$this->sess_life; if(isset(self::$dbinfo['mb_idx'])){ $this->query( $this->scheme->core('update:session2'), array( $this->expiry, $this->value, self::$dbinfo['mb_idx'], $key ) ); }else{ $this->query( $this->scheme->core('update:session'), array( $this->expiry, $this->value, $key ) ); } return true; } public function destroy($key){ $this->get_scheme(); $this->query( $this->scheme->core('delete:session'), array( $key ) ); return true; } public function gc(){ $this->get_scheme(); $this->query( $this->scheme->core('gc:session'), '' ); return true; } } $sess_init = new SessionHandler(); session_set_save_handler( array($sess_init,'open'), array($sess_init,'close'), array($sess_init,'read'), array($sess_init,'write'), array($sess_init,'destroy'), array($sess_init,'gc') ); session_start(); |
- 다음글 새해 복 많이 받으세요~ 1 박제영 2022.12.30
- 이전글 게시판에 글을 올리면 아래와 같은 에러가 발생합니다 1 바르도 2022.11.08