주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
꽃배달 한국, 중국 전지역배송

PHP 기초중의 기초 - (11) PHP 쿠키 外

네로 | 2003.02.24 00:05:37 댓글: 0 조회: 719 추천: 4
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1758884
PHP 기초중의 기초 - (11) PHP 쿠키 外

글쓴이 : 悲魂(비혼), 2000/07/29(토)

본 강좌의 내용은 PHP를 전혀 모르는 분, 이제 막 PHP 공부를 시작하는 분들을 위한 말 그대로 기초 내용만을 다루고 있습니다. 때문에 PHP를 어느 정도 이상 다루는
분들에겐 가치없는 글일수도 있습니다. 본 강좌는 내용의 수정이 없다면 자유로운 배포 및 이용이 가능합니다. 다만 본 강좌의 내용 중 틀린 부분이나 추가 및 삭제를 원
하는 부분이 있을 시에는 비혼의 조그만 세상(http://soulstar.new21.org/)이나 흑협의 PHP Tip(http://phptip.com/)의 게시판에 글을 남겨주시면 고맙겠습니다.


다시 外(외)자가 붙었습니다. ^^; 外자야~ 컴백을 축하한다.


1) include와 require 함수

각 게시물마다 php 프로그램을 작성해 넣으면 상당히 번거로울 것입니다. 이때 공통이 되는 php 프로그램을 하나의 파일로 만들어 include()나 require() 문을 사용하
게 되면 간단히 불러와 쓸 수 있습니다.

include('파일명'); ... 지정된 파일이 삽입됩니다.
require('파일명'); ... require문을 조건없이 사용할 경우 include문과 동일합니다.

include의 경우 <?php include('filename.ext'); ?>로 그냥 파일을 불러오면 되고, require문을 사용하고자 할 경우엔 <?php if($ok) require('filename.ext'); ?> 등으로
조건을 주어 참인 경우에만 불러들일 수 있습니다. 비슷하죠? include만을 사용하겠습니다.

1. 아래와 같은 파일을 하나 작성합니다.

exam11-1.php
<?
function sum($a, $b) {
return $a+$b;
}
function ave($a, $b) {
return ($a+$b)/2;
}
?>

2. 이제 php 프로그램을 작성해 봅니다.

exam11-2.php
<html>
<head><title>PHP 기초중의 기초
<body>
PHP 기초중의 기초 강좌 진행용 예제입니다.
<?php include('exam11-1.php'); ?>
<h3>php 파일을 불러왔습니다

<?php
echo "40과 80의 합은 " . sum(40,80) . "입니다.
n";
echo "80과 70의 평균은 " . ave(80,70) . "입니다.
n";
?>
<h3>예제 끝~




3. 계정에 올리고 웹브라우저에서 예제 파일을 불러옵니다.

어때요... 제대로 결과가 나왔나요? 축하합니다. ^^;


2) 쿠키(cookie)

앞으로의 프로그래밍에 있어 재미있게 활용할 쿠키를 소개합니다. 먹는게 아닙니다. ^^;

어떤 홈페이지에 갔을때 회원 아이디와 암호를 넣으면 그 뒤로는 어떤 페이지에 가도 다시 묻는 화면이 뜨지 않는걸 보셨죠? 이것을 구현하는데는 여러가지 방법이 있겠
지만 가장 쉽게 구현할 수 있는게 바로 쿠키입니다.

또하나. 게시판이나 메모장을 처음 쓸 경우 이름이나 이메일, 홈페이지 입력칸에 아무런 값이 지정되어 있지 않지만, 한번 입력후 다음에 오면 전에 입력했던 값이 쓰여
져 있음을 본적이 있을 겁니다. 넵! 쿠키를 이용해 이런 일이 가능합니다.

일단은 간단한 형식과 함께 예제를 통해 실제 어떻게 사용되는지 알아보겠습니다.

setcookie("쿠키명", "쿠키값", 소멸시간);

현재는 이 정도의 형식만 알아두시면 됩니다. 여기서 쿠키명은 클라이언트(사용자측 컴퓨터)에 저장될 이름입니다. 쿠키값은 말 그대로 어떤 값을 지니고 있으며 소멸시
간은 초 단위로 지정이 가능합니다. 즉 10이라 지정하면 10초 후 그 쿠키는 사라지게 되는 것이죠. 말이 길어졌습니다. 실제 예를 보겠습니다.


exam11-3.php
<html>
<head><title>PHP 기초중의 기초
<body>
<h3>이름과 홈페이지 주소를 입력하고 확인 버튼을 눌러주세요.

<form method=post action=exam11-4.php>
이름 <input type=text name=username value=<?php echo $HTTP_COOKIE_VARS["username"]; ?>>

홈페이지주소 <input type=text name=userhome value=<?php echo $HTTP_COOKIE_VARS["userhome"]; ?>>

<input type=submit value=확인>





그럼 이 입력폼으로부터 전달받은 값을 처리할 php 프로그램을 작성해야 겠죠? [나중에 php 프로그래밍이 익숙해지면 하나의 파일로 만들어보세요.]

exam11-4.php
<?
setcookie("username", $username, time() + 3600);
setcookie("userhome", $userhome, time() + 3600);
echo "$username 님의 $userhome 에 방문해도 되죠?n";
?>

exam11-3.php에서는 입력폼을 띄웁니다. 이름과 홈페이지 주소를 입력하는 폼과 함께 확인 버튼이 표시됩니다. 여기에 아무런 값이나 입력하고 확인 버튼을 눌러보세
요. 누구 님의 어느곳 에 방문해도 되죠?란 문장이 뜨죠? 자~ 그럼 다시 exam11-3.php 파일을 불러와 볼까요? 아까전에 입력했던 이름과 홈페이지 주소가 그대로 보이
죠? ... 성공 축하합니다. 안되는 분은 잘 살펴보세요.

여기서 time() + 3600은 time() 함수를 이용해 현재 시간을 구하고 여기에 3600초 즉 60초(1분) * 60한 값(1시간) 후에 소멸되도록 지정한 것이죠. 예제 확인하시고 1시간
지나 다시 예제를 보세요. 쿠키가 사라져 다시 입력해야 할 거에요. 소멸 시간을 사용하지 않으면 브라우저가 닫힐 때까지만 적용이 된답니다.

그리고 저장된 쿠키를 불러올때 HTTP_COOKIE_VARS["쿠키명"]을 사용하는건 이미 눈치채셨죠? $쿠키명[위에서의 프로그램에 맞추자면 $username이나
$userhome]을 바로 써도 저장된 값을 사용할 수 있습니다. 그러나 이 방법은 별로 권장하지 않습니다. 이유요...? 왜 그럴까 생각해보세요. 또 숙제... [숙제검사 코너를
만들어버릴까... =^_^=]


아참. 이 예제 시간을 1시간으로 지정했기 때문에 1시간 내에는 계속 처음에 입력했던 값들이 나올거에요.


3) 마무리

이번 강좌는 짧게 끝냈네요. ^^; 다음엔 클래스에 대한 강좌를 올리겠습니다.
궁금한거 있음 댓글 달아주세요~

그럼 즐겁게 PHP~


----------------------------------------------------------------------
PHP 기초중의 기초 - (11) PHP 쿠키 外 : http://soulstar.new21.org/study/study11.htm
예제 확인 - http://soulstar.new21.org/study/exam11-1.php
예제 확인 - http://soulstar.new21.org/study/exam11-2.php
예제 확인 - http://soulstar.new21.org/study/exam11-3.php
예제 확인 - http://soulstar.new21.org/study/exam11-4.php

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:07)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >> 웹 프로그래밍
* 이동후 위치 : 웹 공부 >>

* 전설님에 의해서 게시물 이동되었습니다 (2004-05-30 17:12)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍
추천 (4) 선물 (0명)
IP: ♡.27.♡.234
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11970
관리자
2003-09-20
11526
관리자
2003-09-20
20671
지구인
2010-08-27
19452
지구인
2009-09-07
13771
SOLIDH
2010-01-29
15734
엔죠라이프
2004-10-07
16824
네로
2003-02-24
629
네로
2003-02-24
562
네로
2003-02-24
1122
네로
2003-02-24
654
네로
2003-02-24
438
네로
2003-02-24
478
네로
2003-02-24
470
네로
2003-02-24
426
네로
2003-02-24
386
네로
2003-02-24
438
네로
2003-02-24
425
네로
2003-02-24
428
네로
2003-02-24
526
네로
2003-02-24
514
네로
2003-02-24
1442
네로
2003-02-24
719
네로
2003-02-24
568
네로
2003-02-24
538
네로
2003-02-24
676
네로
2003-02-24
628
네로
2003-02-24
489
모이자 모바일