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

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

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

예를 들어…

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. ^^ 좋네요.
    저두 쿠키는 만들어서 쓰고 있는데… 간단히 만드는 건 아직 내공이 부족한듯 ㅜ.ㅡ;

Leave a Reply