웹마스터 팁



개판 오분전 세션 구어먹기.

1. session 이 머게??
2. session 열기
3. session 에 변수 저장하기
4. session 에 저장된 변수 지우기.
5. session 의 아이디 이용
6. session 의 기타 기능 |
7. session 의 기타 기능 - ||




이젠 세션에 필요한 정보를 담아보자.
폼에 입력한 사용자의 아이디를 세션에 담아볼까??

이때 변수 이름은 id 이고 변수값은 "미친개" 라고 하면
세션 정보가 포함된 웹문서 test.php 를 열때의 주소는 다음의 형태일것이다.

  ....../test.php?id=미친개

이런 주소일때 이 주소만 써버에 전달 되는것이 아니고 쫌전에 저장된 세션 아이디도 같이 전달
된다.
물론 "미친개"는 접속한 아이디에 따라 다르다.
또 문서 안에서 아이디를 입력받는 폼이 있어야겠지.


어쨋든 이렇게 전달된 아이디값을 써버의 4096 바이트의 공간에 저장하려면.....
session_register() 함수를 쓴다.


<?
session_start();
$user = $id;
session_register("user");
.
.
.
?>

이렇게 해줌으로써 이 문서를 열어본 브라우저가 닫히거나 수정해주기 전까지는
$user="미친개";
라는 변수 하나가 공짜로 생기는 셈이 된다.
이거 하나 저장 되었다고 다른건 추가로 저장할수 없을까??
아니다.4096 바이트 안쪽이라믄 얼마든지 가능하다.


<?
session_start();
$user = $id;
session_register("user");
$visit++;
session_register("visit");.
.
.
?>

변수 $visit 도 저장 되었다. 정의되지 않은 변수의 ++  연산값은 처음엔 null 이지만
그 다음엔 0 이 되고 다시 이 페이지를 열때마다 1 씩 착실히 증가 시켜준다.


<?
session_start();
$user = $id;
session_register("user");
$visit++;
session_register("visit");.
echo $visit;
?>

이 소스는 초간단 카운터이다.
처음 이 문서를 열면 세션 공간이 만들어지고 이 공간에 서른 두자리의 헥사이름이 붙여진다.
변수 id값이  user 이라는 이름으로 세션 공간에 저장 되며 이 저장된 값은 변수 $user 로 해서
쓸수 있다.

이 문서를 새로고침 해서 열어보면 세션 공간에 저장된 $user 아이디는
처음 입력값 "미친개" 그대로 이지만 앞전에 저장한 $visit 의 값은 0 으로 저장 되었다가
다시 이 문서를 열면 $visit++ 에서 1 이 더 보태지고 이 값이 새 visit 로 세션에 저장 된다.
그리고 1 이라는 글자가 echo 명령으로 브라우저에 뿌려진다.

한번더 새로고침 하면??
저장된 visit 값이 1 였으므로 $visit++ 의 값은 2 가 되고 세션에 이 2 가 visit 라는 이름으로
저장 되며 화면에 2 가 뿌려지그찌....



정리.
저장 되는 변수의 이름(여기서는 $user, $visit 따위)에 $ 를 붙이지 않는다.
저장 된 변수는 수정하거나 바꿀수 있다.