세션은 여러 페이지에서 사용할 정보(변수에)를 저장하는 방법입니다.
쿠키와 달리 정보는 사용자 컴퓨터에 저장되지 않습니다.
session.php
<?php
// 함수session_start()는 문서의 첫 번째 항목이어야 합니다. 모든 HTML 태그 앞
session_start();
$_SESSION['city'] = "서울";
$_SESSION['session1'] = "hello";
echo $_SESSION['city'];
echo $_SESSION['session1'];
?>
sessionPrint.php
<?php
// session.php 에서 사용한 세션, 다른 페이지에서도 유지가 됨
session_start();
echo "<h2>세션 값은".$_SESSION['city']."입니다.</h2>"
?>
<!-- 세션 삭제 -->
<a href="session_unset.php">세션 삭제</a>
session_unset.php
<?php
session_start();
// session_unset(); // 모든 세션 변수 제거
// session_destroy(); // 세션 파괴
unset($_SESSION['city']);
// unset($_SESSION('session1'));
echo $_SESSION['city'];
echo $_SESSION['session1'];
// 출력 ) hello
?>
쿠키는 종종 사용자를 식별하는 데 사용됩니다.
쿠키는 서버가 이용자의 컴퓨터에 저장하는 작은 파일입니다.
같은 컴퓨터가 브라우저로 페이지를 요청할 때마다 쿠키도 함께 보냅니다.
PHP를 사용하면 쿠키 값을 만들고 검색할 수 있습니다.
setcookie(name, value, expire, path, domain, secure, httponly);
예제1
cookie.php
<?php
setcookie("cookie1", "abc");
setcookie("cookie2", "123", time()+3);
if(isset($_COOKIE['cookie1'])) {
echo "쿠키 1은".$_COOKIE['cookie1'];
}
if(isset($_COOKIE['cookie2'])) {
echo "쿠키 2는".$_COOKIE['cookie2'];
}
?>
<!-- 쿠키 삭제 -->
<a href="cookie_unset.php">쿠키 삭제</a>
cookie_unset.php
<?php
setcookie('cookie1', '');
setcookie("cookie2", '', time()+3);
if(isset($_COOKIE['cookie1'])) {
echo "쿠키 1은".$_COOKIE['cookie1'];
} else {
echo "쿠키 1, 삭제";
}
if(isset($_COOKIE['cookie2'])) {
echo "쿠키 2는".$_COOKIE['cookie2'];
} else {
echo "쿠키 2, 삭제";
}
?>
예제2
<?php
// setcookie()는 <html> 태그 앞에 나타나야 합니다
// 다음 예제에서는 값이 "John Doe"인 "user"라는 쿠키를 만듭니다.
// 쿠키는 30일(86400 * 30) 후에 만료됩니다.
// "/"는 전체 웹사이트에서 쿠키를 사용할 수 있음을 의미합니다
// 쿠키 "사용자"의 값을 검색합니다(전역 변수 $_COOKIE 사용)
// isset()기능을 사용하여 쿠키가 설정되어 있는지 확인
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name])) {
echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
echo "Cookie '" . $cookie_name . "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
쿠키 삭제
<?php
// 쿠키를 삭제하려면 setcookie()만료 날짜가 과거인 기능을 사용
setcookie("user", "", time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user' is deleted.";
?>
</body>
</html>
쿠키가 활성화되어 있는지 확인
<?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>
<?php
// $_COOKIE 배열 변수를 계산
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies are disabled.";
}
?>
</body>
</html>
'PHP' 카테고리의 다른 글
[PHP] file (0) | 2023.04.05 |
---|---|
[PHP] include (0) | 2023.04.05 |
[PHP] mySQL 연결, 쿼리문 (0) | 2023.04.05 |
[PHP] 반복문, isset, empty (0) | 2023.04.05 |
[PHP] 연산자, if, switch (0) | 2023.04.05 |