PHP 쿠키와 세션의 기본 사용법

PHP 기본 문법에서 쿠키와 세션을 확인해본다.

  • 이름, 값, 만기 날짜, 경로가 제일 중요하다.
  • 클라이언트에 저장된다.
1
$_COOKIE[name]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$cookieName = 'city';
$cookieValue = 'seoul';

setcookie($cookieName, $cookieValue, time()+60, '/');
// 이 페이지가 생성되자마자 60초 후에 쿠키가 생성하고
// 쿠키 생성여부에 따라
// 쿠키여부 문구를 출력하고 싶다.
?>

<!DOCTYPE html>
<html lang="ko">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scal=1.0">
<title>home</title>
</head>
<body>
<?php
if(!isset($_COOKIE[$cookieName])) {
echo cookieName.'의 쿠키는 생성되지 않았습니다.';
} else {
echo cookieName.'의 쿠키는 생성되었습니다..';
echo '생성된 값은'.$_COOKIE[$cookieName].'입니다.';
}
?>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$cookieName = 'city';
$cookieValue = 'seoul';

setcookie($cookieName, $cookieValue, time()-60, '/');
// 이 페이지가 생성되자마자 60초 후에 쿠키를 삭제하고
// 쿠키 생성여부에 따라
// 쿠키여부 문구를 출력하고 싶다.
?>

<!DOCTYPE html>
<html lang="ko">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scal=1.0">
<title>home</title>
</head>
<body>
<?php
echo cookieName.'의 쿠키는 삭제되었습니다..';
echo '생성된 값은'.$_COOKIE[$cookieName].'입니다.';
// 쿠키가 없기 때문에 에러 발생
?>
</body>
</html>

SESSION (세션)

  • 브라우저가 해당 사이트에서 벗어난다면 세션이 종료된다.
  • 사이트 접속을 했음에도 불구하고 30분동안 아무것도 하지 않는다면 세션 종료된다.
  • 세션은 최상단에 작성하여야 한다.
  • 서버에 저장되어 있다.
  • bitnami의 경우 php.ini에서 session.save를 검색하여 SESSION이 저장되는 경로를 알 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
session_start(); // 세션 시작
$_SESSION['city'] = 'Seoul';
$_SESSION['gu'] = 'Jongro';
?>

<!DOCTYPE html>
<html lang="ko">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scal=1.0">
<title>home</title>
</head>
<body>
<?php
echo '세션이 등록되었습니다.';
if(!isset($_SESSION['city'])) {
echo '세션이 등록되어 있지 않습니다.';
} else {
echo $_SESSION['city'].'세션이 등록되어 있습니다.';
print_r($_SESSION); // 모든 세션의 정보를 연관 배열 형태로 출력
}
?>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start(); // 세션 시작
?>

<!DOCTYPE html>
<html lang="ko">
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scal=1.0">
<title>home</title>
</head>
<body>
<?php
session_unset(); // 세션의 모든 변수를 해지한다.
print_r($SESSION); // 아무것도 출력되지 않음
?>
</body>
</html>

참고 비교 키워드
session_destory 모든 세션을 삭제
session_unset 모든 세션을 해지


REFERENCE
https://www.youtube.com/watch?v=qvainHwkc38&list=PL-qMANrofLytZY15Agdi7wFc1seGO7Onb&index=9

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer