php 에서 쿠키 설정시 주의점

Posted by Albert 4196Day 16Hour 45Min 1Sec ago [2013-10-25]

setcookie 사용시 다음과 같은 에러가 발생할수가 있다.


Warning: Cannot modify header information - headers already sent by
...................................

 

setcookie함수는 페이지 출력전에 호출이 되어야 합니다.


아니면 캐쉬해서 한번에 출력한다.


캐쉬방법은 ob_start() 참고하여서 사용.


http://ir.php.net/manual/kr/function.ob-start.php

 

 

 

수정전 SetCookie("user_id", $ID_USER, 0, "/");   


이런  방식으로 사용하던 방식을(상단에 있으면 상관없으나 중간이나 페이지 출력후에 사용 하였으면 수정필요)

 

 

수정후 here_setcookie("user_id",$ID_USER, 0);   이런식으로 수정하여 사용한다.

 

 

추가 내용


function here_setcookie($name, $value, $expire, $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);
    }

}




LIST

Copyright © 2014 visionboy.me All Right Reserved.