PHP 쿠키

쿠키

수십년 전 사람들이 회의를 할 때는 모두 하나의 참가 패스가 필요했습니다. 이 참가카드에는 본인의 직위, 이름, 소속, 사진 등의 정보가 들어있습니다. 회의 중에 회의 보안 담당자와 주최자는 관련 정보

만 확인하면 됩니다.

이 작은 예는 사람들이 자신의 참가 카드와 자신의 정보를 가져오는 점을 주로 보여줍니다. 이 패턴이 바로 쿠키입니다.

쿠키는 종종 사용자를 식별하는 데 사용됩니다. 쿠키는 서버가 이용자의 컴퓨터에 남겨두는 작은 파일입니다. 동일한 컴퓨터가 브라우저를 통해 페이지를 요청할 때마다 쿠키가 컴퓨터로 전송됩니다. PHP를 사용하면 쿠키 값을 생성하고 검색할 수 있습니다.

쿠키는 어떻게 만드나요?


setcookie()

함수를 사용하여 쿠키를 설정합니다. 참고: setcookie() 함수는 <html> 태그 앞에 배치되어야 합니다.

문법

setcookie

(name,value,expire,path,domain)이름이 필요합니다. 쿠키의 이름을 지정합니다. 값은 선택사항입니다. 쿠키의 값을 지정합니다.

만료 선택사항. 쿠키의 유효 기간을 지정합니다.

경로는 선택사항입니다. 쿠키의 서버 경로를 지정합니다.

도메인은 선택사항입니다. 쿠키의 도메인 이름을 지정합니다.

이 함수의 경우 일반적으로 다음과 같이 사용합니다. setcookie(쿠키 이름, 쿠키 값, 쿠키 유효 기간), 3개이면 충분합니다.

예제

다음 예에서는 name 쿠키 "user"의 경우 "Alex Porter" 값을 할당합니다. 또한 이 쿠키가 1시간 후에 만료되도록 지정합니다.

<?php
setcookie("user","Alex Porter",time()+3600);
?>

참고: 쿠키를 보낼 때 쿠키 값은 자동으로 URL 인코딩됩니다. , 검색 시 자동으로 디코딩됩니다(URL 인코딩을 방지하려면 대신 setrawcookie() 사용).

쿠키 만료 시간을 다른 방법으로 설정할 수도 있습니다. 이는 초를 사용하는 것보다 더 간단할 수 있습니다.

<?php
$expire=time()+60*60*24*30;
setcookie("user", "php", $expire);
?>

위 예시에서는 만료 시간이 1개월(60초 * 60분 * 24시간 * 30일)로 설정되어 있습니다.

Cookie의 값을 어떻게 구하나요?

PHP의 $_COOKIE 변수는 쿠키 값을 검색하는 데 사용됩니다.

다음 예에서는 "user"라는 쿠키의 값을 검색하여 페이지에 표시합니다.

<?php
// 输出 cookie 值
echo $_COOKIE["user"] ."<br/>";

// 查看所有 cookie
print_r($_COOKIE);

?>

쿠키 위에 php라는 이름의 쿠키를 생성했으므로 프로그램 실행 결과는 다음과 같습니다.

php
배열은 다음과 같습니다. ( [pgv_pvi] => 9622684672 [사용자] => PHP )


다음 예에서는 isset() 함수를 사용하여 쿠키가 설정되었는지 확인하세요:

<html>
 <head>
 <meta charset="utf-8">
 <title>php中文网(php.cn)</title>
 </head>
 <body>
 
 <?php
 header("Content-type:text/html;charset=utf-8");
 if (isset($_COOKIE["user"]))
     echo "欢迎 " . $_COOKIE["user"] . "!<br>";
 else
     echo "普通访客!<br>";
 ?>
 
 </body>
 </html>

프로그램 실행 결과:

Welcome to php!


쿠키를 삭제하는 방법은 무엇인가요?

쿠키 삭제 시 만료일을 과거 시간으로 변경하면 됩니다.

"user"라는 쿠키에는 "XX user"라는 값이 할당됩니다. 이 쿠키는 1시간 후에 만료되도록 지정되어 있습니다:

<?php
header("Content-type:text/html;charset=utf-8");    //设置编码
setcookie("user","XX用户",time()+3600);
?>

위 쿠키를 삭제하려면 다음과 같이 시간을 설정하세요.

<?php
setcookie("user","",time()-3600);
?>

브라우저의 경우 쿠키를 지원하지 않습니다. 어떻게 해야 하나요?

애플리케이션이 쿠키를 지원하지 않는 브라우저를 처리해야 하는 경우 다른 방법을 사용하여 애플리케이션의 페이지 간에 정보를 전달해야 합니다. 한 가지 방법은 양식을 통해 데이터를 전달하는 것입니다(양식 및 사용자 입력은 이 튜토리얼의 이전 장에서 다루었습니다).

다음 양식은 사용자가 "제출" 버튼을 클릭하면 "cookie_welcome.php"에 사용자를 제출합니다. 입력 :

<html>
 <head>
     <meta charset="utf-8">
     <title>php中文网(php.cn)</title>
 </head>
 <body>
 
 <form action="cookie_welcome.php" method="post">
     名字: <input type="text" name="name">
     年龄: <input type="text" name="age">
     <input type="submit">
 </form>
 
 </body>
 </html>

아래와 같이 "cookie_welcome.php" 파일의 값을 검색합니다.

<?php
header("Content-type:text/html;charset=utf-8");
echo "欢迎".$_POST['name'] ."<br>";
echo "你".$_POST['age'] ."岁了";
?>

프로그램 실행 결과:

Welcome liuqi

You 23세입니다


지속적인 학습
||
<?php setcookie("user","Alex Porter",time()+3600); ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~