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)
* 이동한 이유 :
* 원래의 위치 : 웹 공부 >>
* 이동후 위치 : 웹 공부 >> 웹 프로그래밍