- cookie
- 클라이언트(브라우저)에 데이터를 저장
- setCookie
- $_COOKIE
<?php
setCookie('cookie1', '생활코딩');
setCookie('cookie2', time(), time()+60);
?>
<?php
echo $_COOKIE['cookie1']."<br />";
echo time()-$_COOKIE['cookie2'];
?>
세션이란?
- session
- SID(session ID)를 식별자로 서버에 데이터를 저장
- SID로는 쿠키나 도메인 파라미터를 사용
- session_start(); 로 시작, 스크립트의 최상단에 위치해야 함
- $_SESSION
- 데이터는 서버 내에 파일이나 DB에 저장 함
- 주로 사용자 인증시에 사용함
세션에 대한 간단한 예제
<?php
session_save_path('./session');
session_start();
$_SESSION['title'] = '생활코딩';
?>
<?php
ini_set("display_errors", "1");
session_save_path('./session');
session_start();
echo $_SESSION['title'];
echo file_get_contents('/ex.u/cep/cep/html/egoing/session/session/sess_'.session_id());
?>
로그인
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>
<form action="login_process.php" method="POST">
<p><label>아이디</label><input type="text" name="id" /></p>
<p><label>비밀번호</label><input type="text" name="pwd" /></p>
<input type="submit" />
</form>
</body>
</html>
</html>
인증
<?php
session_start();
$id = 'egoing';
$pwd = 'codingeverybody';
if(!empty($_POST['id']) && !empty($_POST['pwd'])){
if($_POST['id'] == $id && $_POST['pwd'] == $pwd){
$_SESSION['is_login'] = true;
$_SESSION['nickname'] = '이고잉';
header('Location: ./session.php');
exit;
}
}
echo '로그인 하지 못했습니다.';
?>
일반 웹페이지
<?php
session_start();
if(!isset($_SESSION['is_login'])){
header('Location: ./login.html');
}
?>
<html>
<body>
<?php echo $_SESSION['nickname'];?>님 환영합니다<br />
<a href="./logout.php">로그아웃</a>
</body>
</html>
로그아웃
<?php
ini_set("display_errors", "1");
session_start();
session_destroy();
header('Location: ./login.html');
?>