simple_session.php 는 MySqli 세션 사용에 도움되기 위한 기본 설명서입니다.

    주요 특징

  • 기존 코드 수정 불필요.
  • 세션 생성(또는 삭제) 메소드 지원.
  • 세션 값 검증 메소드 지원.
 

MySql-Session 에서 필요한 library 는 다음과 같습니다.

  1. simple_session.php
    MySql 에 세션을 저장하거나 출력을 담당합니다.
  2. mysqli.php
    MySql 에 데이터를 입력하거나 출력을 담당합니다.

설치 순서는 다음과 같습니다.

기본적으로 crazy 스크립트는 library 에 속한 파일 외에는 수정이 자유롭습니다.
물론 필요에 의해서 수정은 되나 차후 업그레이드가 필요한 때에는 library 파일만을 업데이트하기 때문에 가급적 수정을 하지 않거나 수정한 부분이 있다면 따로 표시해 주시기 바랍니다.

  1. 다운로드 받은 파일을 서버로 모두 업로드합니다.
  2. session.sql(또는 아래 Schema) 을(를) MySql에 입력합니다.
    • 								
      CREATE TABLE `cz_session` (
       u_key char(32) NOT NULL,
       u_ip varchar(255) NOT NULL,
       u_expire int(11) unsigned NOT NULL,
       u_data text NOT NULL,
       PRIMARY KEY  (u_key)
      ) TYPE=MyISAM;
  3. conf.php 파일 MySql 정보를 환경에 맞게 적절히 수정합니다.

환경 설정

공통 상수

  • HABONYPHP_DIRNAME
    						
    MY SQL 이 설치된 경로. 끝에 반드시 / 를 입력해 주세요.
    
    기본값: ./

사용 가능한 상수

  • PHP_MYSQL_SESSION_PROFIX
    						
    Mysql-Session 테이블 이름 접두사
    
    a-z, 0-9 만 가능.
    기본값: cz

사용 가능한 목록.

MySql 세션 클래스에서 사용할 수 있는 메소드 목록을 설명합니다.

  • set_session( cookie, cache, gc )

    세션이 시작되기 전에 설정합니다.

    • cookie: 배열, 선택입니다.
      • lifetime: 쿠키 만료시간. 기본 값: 0
      • path: 쿠키가 사용되는 서버 경로. 기본 값: /
      • domain: 접근 가능한 도메인을 제한. 기본 값: false
      • secure: HTTPS 연결할 경우 true 로 설정. 기본 값: false
      • httponly: HTTP 프로토콜로만 액세스 가능하게 하려면 true 로 설정. 기본 값: false
    • cache: 배열, 선택, 세션 캐시를 설정합니다.
      • limit: public, private, nocache, private_no_expire 중 하나. 기본 값: public
      • expire: 캐시 만료 시간, 기본값 3600(30분)
    • gc: 배열, 선택, GC 는 항상 실행되지 않으며 PHP 가 GC 를 실행하는 1%의 가능성.
      • maxlifetime: 세션 만료 시간, 기본 값: 1440(24분)
      • probability: 기본 값: 1
      • divisor: 기본 값: 100
    							
    $session = new Simple_Session();
    $session->set_session(
    	array('lifetime'=>120),
    	array('expire'=>1800, 'limit'=>'public'),
    	array('maxlifetime'=>86400, 'probability'=>1)
    );
    
    session_start();
  • session_start()

    세션을 시작합니다. 선택입니다.

    							
    $session = new Simple_Session();
    $session->session_start();
  • put_session( session )

    세션을 만듭니다. 선택입니다.

    • session 인수: 배열, ex.) array(key => value)
    • 반환 값: true or false

    							
    $session = new Simple_Session();
    session_start();
    
    if( $session->put_session(array("name"=>"habony", "age"=>25)) )
    {
    	echo "세션을 정상적으로 만들었습니다.";
    }
  • get_session( session_key )

    세션 값을 얻습니다. 선택입니다.

    • session_key 인수: 세션의 키 값
    • 반환 값: 세션 값 or false

    							
    $session = new Simple_Session();
    session_start();
    
    if($name = $session->get_session('name'))
    {
    	echo "나의 이름은: $name 입니다.";
    }
  • verification_session( session_key, value )

    세션 값을 검증합니다.

    • session_key 인수: 세션의 키 값
    • value 인수: 검증할 값
    • 반환 값: true or false

    							
    $session = new Simple_Session();
    session_start();
    
    if( $session->verification_session('age', '25') )
    {
    	echo $session->get_session('name') . "님의 나이가 일치합니다.";
    }
  • unset_session( session_key )

    세션 값을 지웁니다. 선택입니다.

    • session_key 인수: 세션의 키 값
    • 반환 값: true or false

    							
    $session = new Simple_Session();
    session_start();
    
    if( $session->unset_session('age') )
    {
    	echo "age 세션을 삭제하였습니다.";
    }
  • remove_session()

    세션 전체를 삭제합니다. 이 메소드를 실행 하기 전에 브라우저 출력이 없어야 합니다.

    							
    $session = new Simple_Session();
    session_start();
    
    $session->remove_session();