헤더의 출력에 관계없는 몇가지 함수

게시판을 만들면서 사용하는 간단한 함수
대게는...

헤더가 이미 출력된 상황과 그렇지 않은 상황에서 똑같은 함수를 사용하도록 하는 것이다.

예를 들어...

echo '1';
setcookie(~~~);

와 같이 실행한다면...
에러가 발생한다(궁금하면 해보시라~).

또한, 페이지를 이동하는데 내가 즐겨쓰는 header 의 Location 도 선행되는 출력이 있으면 에러를 발생시킨다. 세션도 마찬가지~

그래서 다음과 같이 사용하고 있다.

// 세션 함수
function gb_session_start()
{
	@session_start();
	$sess_name = session_name();
	if (!$_COOKIE[$sess_name]) echo '';
}

// 페이지 이동
function gb_pagemove($URL)
{
	if (headers_sent()) echo '< '.'script language="javascript">document.location.href="'.$URL.'";';
	else header('Location: '.$URL);
}

// 쿠키 생성
function gb_setcookie($name, $value, $expire=0, $path='/')
{
	if (headers_sent()) {
		$cookie = $name.'='.urlencode($value).';';
		if ($expire) $cookie .= ' expires='.gmdate('D, d M Y H:i:s', $expire).' GMT';
		echo '';
	} else {
		setcookie($name, $value, $expire, $path);
	}
}

사용법은 대충 보면 알테고..
gb_setcookie 함수에서 $expire 부분은 unixtime 을 사용하도록 했다(이유는 내가 즐겨쓰는 방식이기 때문...).

header 가 안되니 자바스크립트를 쓴건데... 자바스크립트가 지원안되는 브라우저에서는요? 라고 물어본다면...

.
.
.
.
.

뷁!

  1. ^^ 좋네요.
    저두 쿠키는 만들어서 쓰고 있는데... 간단히 만드는 건 아직 내공이 부족한듯 ㅜ.ㅡ;

  2. 고니님!
    하늘아부지란 닉네임을 쓰시는 분으 웹사이트주소를 좀 알수 있을까요?
    유용한 팁이 참 많았던 것같은데, 제가 깜박햇네요.ㅡㅜ;;
    이제 날려먹지 마세요, 제발~

  3. 엇 언제 제가 여기에 홈페이지를 남겼었나요? ^^;;
    가물가물...

    유용한게 있었다니 감사할 따름입니다.

    제 홈은 하늘과함께(withsky) 쩌엄 넷 입니다 ^^:

  4. 무...무심한게 아니라... 저도 몇번 검색을 해봤는데 (닉으로) 당췌 안나오더라구요. -_-;; 무시무시한 구글을 이용했음에도 불구하고 안나오더라는...
    안 잊어먹으려고 아예 링크를 걸어뒀습니다. -_- /

  5. 하핫... 글케까지 먄해하지 않으셔도 됩니당 ^^:

    제가 닉도 바꾸고 홈페이지도 바꾸고...
    그래서 구글에도 안나왔을 거에요. ㅎㅎ

    다 버리고 싶었는데... 그것도 쉽지가 않네요.
    아쉽기도 하고 그리워지기도 하고...
    예전의 닉으로만 기억하는 사람들도 있구요.
    내가 무슨 소릴 하는 거징? ^^;;

    링크까지 걸어주시고 감사합니당. 꾸벅 (__)

  6. 이거 명랑폐인이 만든 팁 아닌가?
    아님 고니 니가 명랑폐인이냐?? 뭐냐?? 도데체

Leave a Reply to 하늘아부지Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.