- 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' ); ?> |