로그인 유지 기능이 있다. 쿠키를 생성하고, 그 만료시간(expire)을 길게 설정하여 사용자(클라이언트)가 계속 유효한 쿠키를 갖고 웹에 접속하면 별도의 로그인 과정 없이 바로 웹 이용이 가능하도록 만든다.
setcookie() 함수를 활용하여 쿠키를 생성한다.
tile()+시간 인자를 추가하여 expire(만료) 시간을 설정한다. 기본 단위는 second 이다.
<?php
$a=setcookie("username", $username, time()+60);
$b=setcookie("password", $password, time()+60); //time() = expire 시간 설정하는 것)
if ($a && $b){
print "쿠키 'username'과 'password' 60초 유효로 생성 완료!<br>";
}
?>
register_globals(php.ini에서 확인)는 기본 Off로 설정되어 있다.
<?php
// 클라이언트 로컬에 저장되어있는 쿠키가 유효하므로 불러와서 사용이 가능함.
$username = $_COOKIE["username"];
$password = $_COOKIE["password"];
print "쿠키 'userId' : $username <br>";
print "쿠키 'username' : $password <br>";
?>
반대로 register_globals가 On인 경우에는 아래처럼 한다.
변수를 따로 선언할 필요가 없다.

<!DOCTYPE html>
<html>
<head lang="ko">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>
쿠키 테스트를 위한 로그인 폼
</title>
</head>
<body>
////////// PHP 사용하는 부분 //////////
<form action="cookie_setcookie.php" method="post">
<table border="1">
<tr>
<td><input type="text" required placeholder="아이디" name="username"></td>
</tr>
<tr>
<td><input type="password" required placeholder="비밀번호" name="password"></td>
</tr>
<tr align="center">
<td>
<input type="checkbox" value="yes" name="chkbox">로그인 상태 유지
<input type="submit" value="로그인">
</td>
</tr>
</table>
</form>
////////// PHP 사용하는 부분 //////////
</body>
</html>
<?php
$username = $_REQUEST["username"];
$password = $_REQUEST["password"];
$chkbox = $_REQUEST["chkbox"];
if ($chkbox == true){
$a=setcookie("username", $username, time()+60);
$b=setcookie("password", $password, time()+60); //time() = expire 시간 설정하는 것)
if ($a && $b){
print "쿠키 'username'과 'password' 60초 유효로 생성 완료!<br>";
}
}else {
print "로그인이 유지되지 않습니다.";
}
?>
로그인 화면(로그인 상태 유지 체크박스 활성화)


