쿠키 사용LOGIN

쿠키 사용

쿠키 생성

setcookie() 함수를 통해 PHP에서 쿠키를 생성합니다. 구문 형식은 다음과 같습니다.

bool setcookie(문자열 이름[,문자열 값[,int 만료[, 문자열 경로[,문자열 도메인[,int secure]]]]])

쿠키 읽기

PHP에서는 슈퍼 글로벌 배열 $_COOKIE[]를 통해 브라우저 측에서 쿠키 값을 직접 읽을 수 있습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
  />
 <title>PHP语言基础</title>
 
</head>
<body>
<?php
date_default_timezone_set("PRC");
header("Content-Type:text/html; charset=gb2312");
if (!isset($_COOKIE["visittime"])) {
 setcookie("visittime", date("y-m-d H:i:s"));
 echo "这是第一次保存Cookie"."<br>";
} else {
 setcookie("visittime", date("y-m-d H:i:s"),   time() + 60);
 echo "上次访问时间为:" . $_COOKIE["visittime"];
 echo "<br>";
}
echo "本次访问时间:" . date("y-m-d H:i:s");
?>
</body>
</html>


첫 실행 결과:
쿠키 ​​저장은 처음입니다
방문 시간: 16-07-16 08:26:25

두 번째 실행 결과:
마지막 방문 시간: 16-07-16 08:26:25
이번 방문 시간: 16-07-16 08:27: 25

위 코드는 먼저 isset() 함수를 통해 쿠키 파일이 있는지 확인하고, 쿠키 파일이 없으면 setcookie() 함수를 통해 쿠키 파일을 생성하고, 쿠키 만료 시간을 설정합니다. 60초까지.

쿠키 삭제

쿠키 생성 시 만료 시간을 설정하지 않으면 브라우저를 닫을 때 쿠키 파일이 자동으로 삭제됩니다. 브라우저를 닫기 전에 쿠키 파일을 삭제하려면 두 가지 방법이 있습니다. 하나는 setcookie() 함수를 사용하여 삭제하는 것이고, 다른 하나는 브라우저에서 쿠키를 수동으로 삭제하는 것입니다. 아래에 별도로 소개합니다.

1. 쿠키를 삭제하려면 setcookie() 함수를 사용하세요.

쿠키 삭제는 기본적으로 쿠키 생성과 유사합니다. setcookie() 함수도 쿠키를 삭제하는 데 사용됩니다. 쿠키를 삭제하려면 setcookie() 함수의 두 번째 매개변수를 null 값으로 설정하고, 세 번째 매개변수인 쿠키의 만료 시간을 시스템의 현재 시간보다 짧게 설정하면 됩니다.

예를 들어 쿠키 만료 시간을 현재 시간에서 1초를 뺀 시간으로 설정하려면 코드는 다음과 같습니다.

setcookie("name", "", time()-1) ;

위 코드에서 time() 함수는 만료 시간에서 1초를 빼면 현재 타임스탬프를 반환하므로 쿠키가 삭제됩니다.

2. 브라우저에서 쿠키 수동 삭제

쿠키 사용 시 쿠키는 자동으로 텍스트 파일을 생성하여 IE 브라우저의 Cookies 임시 폴더에 저장합니다. 브라우저에서 쿠키 파일을 삭제하는 것은 매우 편리한 방법입니다.

쿠키 수명 주기

쿠키에 시간이 설정되어 있지 않으면 수명 주기가 브라우저 세션 동안이라는 의미이며 IE 브라우저가 닫혀 있는 한 쿠키는 자동으로 사라집니다. . 이러한 유형의 쿠키를 세션 쿠키라고 하며 일반적으로 하드 디스크가 아닌 메모리에 저장됩니다.

만료 시간이 설정되면 브라우저는 쿠키를 하드 드라이브에 저장하며, 유효 기간이 만료될 때까지 IE 브라우저를 다시 열면 쿠키는 계속 유효합니다.

쿠키는 오랫동안 클라이언트 브라우저에 저장될 수 있지만 정적이지는 않습니다. 브라우저는 최대 300개의 쿠키 파일을 저장할 수 있으며 각 쿠키 파일은 최대 4KB를 지원하므로 각 도메인 이름은 최대 20개의 쿠키를 지원합니다. 한도에 도달하면 브라우저는 자동으로 쿠키를 삭제합니다.

내 브라우저가 쿠키를 지원하지 않으면 어떻게 해야 하나요?

귀하의 애플리케이션에 쿠키를 지원하지 않는 브라우저가 포함되어 있는 경우, 애플리케이션의 한 페이지에서 다른 페이지로 정보를 전달하려면 다른 방법을 사용해야 합니다. 한 가지 방법은 양식에서 데이터를 전달하는 것입니다(이 튜토리얼의 앞부분에서 양식과 사용자 입력을 다루었습니다).

다음 양식은 사용자가 제출 버튼을 클릭할 때 "welcome.php"에 사용자 입력을 제출합니다.

<html>
<body>
 
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
 
</body>
</html>

다음과 같이 "welcome.php"에서 값을 반환합니다.

<html>
<body>
 
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
 
</body>
</html>


다음 섹션
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>PHP语言基础</title> </head> <body> <?php date_default_timezone_set("PRC"); header("Content-Type:text/html; charset=gb2312"); if (!isset($_COOKIE["visittime"])) { setcookie("visittime", date("y-m-d H:i:s")); echo "这是第一次保存Cookie"."<br>"; } else { setcookie("visittime", date("y-m-d H:i:s"), time() + 60); echo "上次访问时间为:" . $_COOKIE["visittime"]; echo "<br>"; } echo "本次访问时间:" . date("y-m-d H:i:s"); ?> </body> </html>
코스웨어