PHP 마법 학교 12강: 나를 기억해줘! ‘쿠키(Cookie)와 세션(Session)’ 마법

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간까지 우리는 웹사이트의 뼈대를 세우는 법을 배웠습니다. 오늘은 웹사이트가 우리를 기억하게 만드는 마법을 배워볼 거예요. 로그인한 상태를 유지하거나, 장바구니에 담은 물건이 사라지지 않게 하는 비결! 바로 쿠키세션입니다.

PHP 마법 학교 12강: 나를 기억해줘! '쿠키(Cookie)와 세션(Session)' 마법

1. 주머니에 넣어두는 증표: 쿠키(Cookie)

쿠키는 마법사가 사용자에게 주는 아주 작은 ‘이름표’예요. 사용자는 이 이름표를 자기 컴퓨터(브라우저) 주머니에 쏙 넣어두죠. 다음에 사이트에 방문할 때 이 이름표를 보여주면, 마법사는 “아하! 너는 지난번에 왔던 친구구나!”라고 알아챈답니다.

<?php
  // 'user_name'이라는 이름의 쿠키를 1시간 동안 저장하는 마법이에요
  setcookie("user_name", "꼬마마법사", time() + 3600, "/");

  // 저장된 쿠키를 꺼내볼까요?
  echo "어서와, " . $_COOKIE['user_name'] . "! 다시 만나서 반가워.";
?>

2. 학교 사물함에 보관하는 비밀: 세션(Session)

쿠키는 주머니에 있어서 잃어버리거나 다른 사람이 몰래 볼 수도 있어요. 그래서 더 중요한 정보는 마법 학교(서버) 안에 있는 비밀 사물함인 세션에 보관합니다. 사용자는 사물함 열쇠만 가지고 있고, 진짜 정보는 학교 안에 안전하게 보관되는 방식이죠.

<?php
  // 세션 마법을 시작한다는 주문이에요 (꼭 맨 위에 써야 해요!)
  session_start();

  // 사물함에 중요한 정보를 넣어요
  $_SESSION['magic_power'] = "999";

  echo "너의 현재 마법 능력치는 " . $_SESSION['magic_power'] . "이야!";
?>

3. 쿠키와 세션, 언제 써야 할까요?

보통 “오늘 하루 이 창을 열지 않음” 같은 간단한 선택은 쿠키를 사용하고, “로그인 정보”처럼 중요한 것은 세션을 사용합니다. 쿠키는 유효기간을 정해두면 컴퓨터를 껐다 켜도 남아있지만, 세션은 보통 브라우저를 끄면 마법이 풀려 사라진다는 점도 꼭 기억하세요!

PHP 마법 학교 12강: 나를 기억해줘! '쿠키(Cookie)와 세션(Session)' 마법

4. 생활 속의 기억 마법 찾아보기

놀이공원에 갔을 때 손등에 찍어주는 도장은 쿠키와 비슷해요. 누구나 볼 수 있고 집에 갈 때까지 남아있죠. 반면, 은행의 대기표는 세션과 비슷해요. 번호표(열쇠)를 가지고 있으면 은행원(서버)이 나를 찾아주지만, 은행 문을 나가면 그 번호표는 의미가 없어지거든요.

마치며: 기억을 통해 더 똑똑해지는 웹사이트

웹사이트가 사용자를 기억하기 시작하면 할 수 있는 마법이 훨씬 많아집니다. 나만을 위한 추천 페이지, 이어보기 기능 등 친절한 웹사이트의 시작은 바로 이 ‘기억 마법’에서 나옵니다. 오늘 배운 두 가지 방법의 차이점을 잘 생각하며 나만의 똑똑한 마법 학교를 만들어 보세요!