커뮤니티

고용노동부, 산업인력공단과 함께하는 강원도 유일한 기업중심 IT전문교육기관 ICT융합캠퍼스만의 특별한교육입니다.
공인 IT숙련기술인의 다양한 접근방법으로 전문가다운 실무교육을 받을 수 있습니다.

Category

교육강좌

언어 PHP - 쿠키와 세션

페이지 정보

작성자 관리자 댓글 0건 조회 6,022회 작성일 20-06-10 13:37

본문

쿠키와 세션

  • cookie
  • 클라이언트(브라우저)에 데이터를 저장
  • setCookie
  • $_COOKIE
1
2
3
4
<?php
setCookie('cookie1', '생활코딩');
setCookie('cookie2', time(), time()+60);
?>
1
2
3
4
<?php
echo $_COOKIE['cookie1']."<br />";
echo time()-$_COOKIE['cookie2'];
?>

세션이란?

  • session
  • SID(session ID)를 식별자로 서버에 데이터를 저장
  • SID로는 쿠키나 도메인 파라미터를 사용
  • session_start(); 로 시작, 스크립트의 최상단에 위치해야 함
  • $_SESSION
  • 데이터는 서버 내에 파일이나 DB에 저장 함
  • 주로 사용자 인증시에 사용함

세션에 대한 간단한 예제

1
2
3
4
5
<?php
session_save_path('./session');
session_start();
$_SESSION['title'] = '생활코딩';
?>
1
2
3
4
5
6
7
<?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());
?>

로그인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<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>

인증

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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 '로그인 하지 못했습니다.';
?>

일반 웹페이지

1
2
3
4
5
6
7
8
9
10
11
12
13
<?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>
 

로그아웃

1
2
3
4
5
6
<?php
ini_set("display_errors", "1");
session_start();
session_destroy();
header('Location: ./login.html');
?>
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

답변목록

등록된 답변이 없습니다.