웹마스터 팁



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

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



세션 아이디를 이용한다는건 현재 브라우저가 써버에 갖고 있는 4096 바이트 공간의 이름을
다른 브라우저에 전달할수 있다는거다. 웬 미친개 풀 뜯어먹는 소리냐는 반응이 있을수
있지만 예를 든다면 로그인한 상태에서 팝업으로 다른 창을 열었을때 같은 경우이다.

로그인 하고 나서 내 정보를 보고 싶을때 세션 아이디는 현재 브라우저에서만 유효하므로
팝업으로 내 정보를 클릭해도 써버에서 내려보내는 반응은 "난 너 몰라" 하는 반응 뿐이다.
이럴땐 팝업으로 세션 아이디를 전달해주어야 딱지 맞지 않는다.

현재 열려있는 세션 아이디를 참조할수 있는 함수는 session_id() 함수이다.
써버 설정에 세션 아이디의 변수명(첫부분에서 PHPSESSID 어쩌구저쩌구 했던거..)을 바꾸고
싶을땐 바꾸고 싶은 인자를 넣어주면 된다. 다만 이름 바꾸고 나면 써버에서 인식이 힘들테니
바꿀 필요는 거의 없다고 본다.


<?
session_start();

echo "
    <a href='javascript:window.open("./my_info.php?abcdefg=".session_id()."","_new","width=400 height=600 menubar=no")'>내 정보</a>
     ";

?>

현재의 문서에서의 세션 아이디를 팝업창으로 전해주고 싶을땐 이런식으로 이용한다.
이렇게만 한다고 해서 세션 아이디의 이용이 끝난건 아니다.
팝업창에 들어가는 문서(여기서는 my_info.php 가 되게찌.)에서도 이 session_id 의 값을 참조해야
한다. 그냥 session_start() 로 시작한다면 이 팝업창에 대한 새로운 세션이 만들어져서
원래 세션 정보를 이용하는거 자체가 불가능하게 될테니까 말이다.

이 전달 받은 세션 아이디는 session_start() 함수의 인자로 쓴다.
이렇게 말이지.

<?
session_start("$abcdefg");
.
.
.
?>

이 부분은 my_info.php 문서 안에 들어갈 부분이란거 알징....??

$abcdefg 라는 변수는 위에 팝업창을 링크하는 문서의 주소에서 ? 뒷부분에 붙어있는 파라
미터이다(사실 고백하건데 파라미터라는 말이 정확한 용어인지도 잘 모르겠다).

어쨋든 이런식으로 세션 아이디를 전달해서 새로 브라우저를 열면 써버는 브라우저에 할당되는
세션을 새로 만드는 대신 세션 아이디에 해당되는 그 세션을 그냥 사용할수 있게 한다.


세션 아이디를 이용한 방법에 여러가지가 있을수 있겠지만 session_id() 함수의 역할에 대해
설명 하는거니깐 "그냥 가자".


제목 글쓴이 날짜
echo를 처음사용하시는 초보들에게... [10] ZipShin 2002.07.06
배경그림과 글자색상,배경색상을 지정해주는 php스크립트 [2] ZipShin 2002.07.07
php소스를 윈도우 실행파일로 만드는 컴파일러 있나요? [2] 소우리 2002.07.08
[PHP]간단한 로그인페이지 만들기 [15] ZipShin 2002.07.09
[추천 팁] 웹 브라우저가 한글인지 영문인지(다른 언어인지) 자동 인식하기... [1] 박용구 2002.07.10
PHP 와 Flash 를 이용해 즉석복권을 만들어 보자. [2] 다솜아빠 2002.07.10
[추천 팁] 파일의 최종접근시간과 파일의 수정시간을 알려주는 함수 [2] ssukai 2002.07.10
[추천 팁] 폴더내의 파일중에서 특정정보만 뽑아오기. [2] M2Vis 2002.07.12
PHP를 리눅스 셸 프로그래밍할때 PHP파일 의 경로.. [2] 실버 2002.07.18
원격침입과 도스공격이 가능한 PHP 취약점 [11] JunYa™ 2002.07.24
(삽질완료) 다중도메인, 접속도메인따라 경로결정 [1] nrhythm 2002.07.25
[초보자] 자기 계정에 APM,Perl,PHP이 지원하는지 알아보기. [5] ZipShin 2002.08.01
[Header 이용하기 #1] No-cache [1] )OsE= 2002.08.01
[Header 이용하기 #2] 파일 다운로드 )OsE= 2002.08.01
[Header 이용하기 #3] 페이지 이동 [2] )OsE= 2002.08.01
[초간단 팁] 프로그래밍 스타일, 절대 경로 [8] )OsE= 2002.08.02
Apache나 IIS등 웹서버 설치 않하고도 PHP 실행해보는 방법 [9] 차카게살자 2002.08.02
TheMics의 예제와 함께하는 PHP기초(中) [1] TheMics 2002.08.05
[클래스] 클래스 #1 [8] file )OsE= 2002.08.07
쓸모있는 PHP Tip (다 알구 있을런지 모르겠네여..^^) [1] 이삐아이(체리) 2002.08.09