티스토리 뷰

Development

[PHP , DB ] Session 연결 하기(1)

우주아줌마 2021. 10. 18. 17:30
728x90
반응형

과제중 PHP 로그인 과 아웃 페이지를 만들어야해서 정말 간단히 PHP 몇시간 공부하고 DB 연결 까지 해서

로그인을 진행은 시켰는데 이것이 로그아웃 을 하려면 세션(Session) 이라는 것이 필요다는 걸 알았따

 

처음부터 다시 만든다

 

참고!

아래 내용은 

테서르 님 의 블로그 의 내용을 옮겨 적었으며 해당 출처를 밝히는 바입니다

테서르 님의 블로그에 가면 IT 부분의 다양한 정보가 있으니 참고 하세요

= 테서르 블로그 =

 

[PHP] php 세션(Session) 사용하기

세션(Session)은 모든 정보가 사용자 측의 컴퓨터에 저장되는 쿠키와는 달리 웹 서버에 정보를 저장하고 사용자 측에는 접근할 수 있는 키 값을 저장한다. 웹 서버에 데이터가 저장되고 필요할 때

teserre.tistory.com

 

세션(Session) 이란?

- 세션(Session)은 모든 정보가 사용자 측의 컴퓨터에 저장되는 쿠키와 는 달리 웹 서버에 정보를 저장하고

  사용자 측에는 접근 할수 있는 키 값을 저장

웹 서버에 데이터가 저장되고 필요할 때마다 브라우저에서 키 값을 서버에 요청한다

그리고 브라우저를 종료하는 시점에서 세션 이 삭제가 되어서 쿠키보다 보안성이 높다

 


1. 세션 시작(초기화)

<?php
// 세션 시작
session_start();
?>

우선 시작은 엄청 간단하고 명료 하다 그냥 session_start(); 라고만 시작 하면 되니,

사용자 정보가 웹서버에 없는 경우에는 새로운 세션을 생성하고 , 이미 세션이 생성되면 기존 세션을 사용 한다

php에서 세션을 생성하면 기본적으로 세션의 이름은 PHPSESSID로 저장된다. php 설정파일인 php.ini에서 변경이 가능하다. 일시적인 변경이 필요하면 session_name('변경할 이름')을 사용하여 변경을 할 수 있다. session_name()을 사용하려면 session_start()보다 위에 입력을 해야 오류없이 작동한다.

 

세션 유지 시간은 php.ini 파일에 명시되어있는데, session.gc_maxlifetime항목을 보면 1440(초 단위, 24분)으로 지정되어 있다. 이 시간이 지나면 아무런 요청이 없는 세션 데이터를 삭제하는 것으로 세션을 종료시킨다.

2. 세션 변수 사용

<?php
//세션 시작
session_start();

//세션 변수 등록
$_SESSION['userName'] = 'tester';
$_SESSION['userPw'] = '1234';

//등록된 변수 사용
echo "userName 값: ".$_SESSION['userName']."<br/>";
echo "userPw 값: ".$_SESSION['userPw'];
?>

 

세션을 사용하여 변수를 등록하려면 $_SESSION['변수명'] = Data 형태로 사용하면 된다. 위 코드처럼 $_SESSION['userName'] = 'tester'; 라고 하면 userName이라는 세션 변수에 tester라는 값을 저장한다는 의미다.

등록된 세션 변수를 사용하는 것도 등록과 같다. $_SESSION['변수명'] 형태로 사용한다. 그대로 쓰면 코드가 길어지니 php 변수에 저장하여 사용하는게 편하다.

 

-- 여기서 확인 해야 할부분이 DB 를 연결하여 세션을 유지해야 하니 위 내용은 세션에 대하여 이해하고

db 연동을 통한 부분은 다음 문서에서 추가 작성 해야겠다

 

3. 세션 변수 등록 해제

<?php
//세션 시작
session_start();
//세션 변수 등록
$_SESSION['userName'] = 'tester';

echo "userName 값: ".$_SESSION['userName'];

//등록된 변수 해제
unset($_SESSION['userName']);
echo "userName 값: ".$_SESSION['userName'];
?>

 

등록된 변수의 해제는 unset()을 사용하면 된다. unset($_SESSION['변수명']) 형태로 입력하면 해당하는 변수가 등록이 해제되어 사용을 할 수 없게 된다.

만약 모든 변수의 등록을 해제하고 싶으면 session_unset() 함수를 사용하면 모든 변수의 등록이 해제된다. 세션을 완전히 종료하고 싶다면 session_destroy()를 사용하여 세션 파일과 브라우저의 쿠키를 삭제하여 세션이 종료된다.

 


php .ini 파일에 다양한 정보를 담는 다는 것을 이제 알았다..

참고로 php 공부는 '생활코딩' 님의 홈페이지와 YouTube 를 에서 학습 하였다

생활코딩 Home Page

생활코딩 Youtube channel

 

728x90
반응형
댓글