2013년 8월 27일 화요일

"인체발화현상"의 수수께끼를 해명하는 일은 멀지 않았다?

(사진 : 리얼 라이브)

지난 8 월 인도에서 생후 3 개월 된 아기가 자연 발화 뉴스가 보도되 화제가되고있다. 인도 동부 첸나이 지방에서 태어난 아기가 땀마다 자연 발화했다는 것이다.  보도에 따르면 이미 3 회, 몸이 화염에 싸여 부상을 당하였다고 한다.

처음 발화 한 것은 생후 9 일째로, 원인은 라후루 너의 땀에 어떤 가연성 물질이 포함되어있는 것으로 분석하고 있지만 불확실한 상태이다.  

몸이 화염에 휩싸하는 사례는 세계에서 과거에 몇건이나 발생했다. 가장 오래된 명확한 사례는 1951 년 미국 플로리다에서 일어난 메리 리사 여사의 발화 사건이다. 메리 리사 여사가 화염에 휩싸 사망 사건 현장에는 신고 있던 슬리퍼와 발 일부만이 남아 있었다. 부인의 몸은 대부분이 재가되었고 상당히 강한 불길이 몸에서 발생했다고 볼 수있다.  

그 외에도 1988 년 영국 남부에서 남성이 하반신만 남기고 불에 따 숨진것이 발결되었고, 최근에도 2008 년에 중국에서 성교 중 남성의 성기가 갑자기 발화하기도 했다. 생명에는 이상이 없었지만 낭성의 남근이 뜬 숯처럼 된 사건이 있었다. 또한 2010 년에도 아일랜드 남성이 메리 여사의 사건처럼 몸의 대부분이 탄 상태에서 사망했다는 사례도있다.  

이처럼 인체 발화 사건은 최근 갑자기 사례가 증가있다.  일본에서는 특히 이러한 인체 발화 사례는보고되고 있지 않지만,에도 시대부터 도깨비불,狐火을 대표하는 불 덩어리가 수많은 전승에 남아있는대로, "아무것도없는 곳에서 불꽃이 발생 "라는 것은 결코 해외에만 한정된 이야기가 아니다.  

또한 인체 발화 메커니즘이 점차 밝혀지고있다. 아기의 핵 땀에서 특수 성분이 포함되어있는 것이 과학적으로 밝혀지고있는 것이라고한다.  이번 아기 자연 발화 현상은 그동안 종종보고되어왔다. "인체 발화 현상"의 수수께끼를 끈 신중히 힌트가되는 것이 아닐까 생각된다. (야마구치 사토시 타로 사무소) 

2013년 8월 19일 월요일

[일본]택배 피자 점원 "안면 피자"사진, "피자 헛" 사과

택배 피자 가게에서 아르바이트 점원이 피자 반죽을 가면처럼 얼굴에 쓰고 사진을 Twitter에 게시했던대로 "피자 헛"운영하는 일본 켄터키 프라이드 치킨이 8 월 19 일 "식품을 취급 대로 결코있을 수없는 행위 "라고 사과했다. 점원에 대한 "엄격한 조치"를 실시할 예정이다.


photo 사진은 18 일 새벽에 올라온 것으로, 피자 헛 점원의 제복 차림의 남성이 피자 반죽을 얼굴에 쓰고 "피자라고 숨 수없는구나"라고 트윗했다.

 회사에 따르면, 사진은 "피자 헛 다카이 점 '(도쿄도) 5 월 9 일 폐점 후에 촬영되었다. 사용 된 것은 폐기 재료로 손님에게 제공하는 것은 일절 없었다고 밝혔다.

 회사는 "다시 한번 모든 상점 모든 직원에 대한지도 교육을 더욱 강화 철저를 도모하고, 재발 방지에 노력하고, 안전 · 안심에 대한 신뢰 회복에 그룹 하나가되어 노력하겠다"고 밝혔다.

2013년 7월 30일 화요일

java jstl foreach last index(java jstl foreach 에서 마지막 값을 뽑아오기)


ex1)

<c:forEach items="${fileList}" var="current" varStatus="status">
       <c:out value="${current.fileName}" />
       <c:out value="${current.path}" />
       <c:if test="${!status.last}">,</c:if>
</c:forEach>


ex2)
<ul >
<c:set var="count" value="0" />
<c:forEach items="${rltdEvent}" var="data" varStatus="status">
<c:if test="${status.index%2 == 0 }">
<li class="first last"><a href="#" title="새창으로 열기">${data.title}'</a></li>
</c:if>
<c:if test="${status.index%2 == 1 }">
<li class="last"><a href="#" title="새창으로 열기">${data.title}'</a></li>
</c:if>
<c:if test="${status.last}">
<c:if test="${count%2 == 1}">
<li class="first last end"><a href="#" title="새창으로 열기">${data.title}'</a></li>
</c:if>
<c:if test="${count%2 == 0}">
<li class="last"><a href="#" title="새창으로 열기">${data.title}'</a></li>
</c:if>
</c:if>
<c:set var="count" value="${count+1}" />
</c:forEach>
</ul>

여름방학캠프 안전하게 찾는 방법, 사이트

안전하고 효과적인 여름방학캠프 선택 방법
우리아이가 여름방학캠프를 안전하고 효과적으로 다녀올 수 있는 방법이 무엇인지 여름방학을 앞둔 학부모들의 고민이 이만저만이 아니다. 이런 학부모들의 고민을 덜어줄 ‘안전하고 효과적인 여름방학캠프 선택방법’을 소개한다. 

국가에서 설립한 최초의 자연권 청소년종합체험활동 시설인 국립평창청소년수련원의 김용대 활동운영부장은 “우리아이 여름방학캠프를 선택함에 있어 학부모들은 그 누구보다도 신중해야 하며 다음의 사항만은 꼭 사전에 점검하고 캠프를 신청하셔야 한다”고 말했다. 

활동프로그램 

활동프로그램을 점검함에 있어 해당 캠프의 프로그램이 청소년기인 우리아이의 욕구를 충족할 수 있는지, 발달특성을 반영하고 있는지를 점검해야 한다. 아무리 좋은 프로그램이라 할지라도 우리아이의 욕구를 충족하지 못하고 발달특성을 반영하고 있지 않다면 흥미도가 떨어져 캠프 내내 지루함을 느끼게 되고 캠프 효과를 기대하기가 어렵다. 

활동지도능력 

활동지도능력을 점검함에 있어 활동지도자가 청소년지도사 자격이 있는지, 해당분야의 전문성을 갖추고 있는지, 배치된 지도자의 수가 캠프 참가인원을 충분히 커버할 수 있는지를 점검해야 한다. 지도자 대 청소년의 적정기준은 지도자 1명 대 청소년 15명 이내이다. 

활동환경 

활동환경을 점검함에 있어 공간 및 설비, 영양관리, 위생관리 등의 사항을 점검해야 한다. 

주관단체 및 기관 

주관단체 및 기관 점검은 무엇보다도 중요하다. 이를 통해 활동프로그램, 활동지도능력, 활동환경 등을 포괄적으로 점검할 수 있기 때문이다. 이를 점검함에 있어 ‘청소년활동 진흥법’및 동법 시행규칙[별표2] 수련시설의 시설기준을 참고하면 보다 꼼꼼하게 주관단체 및 기관, 활동환경 등을 점검할 수 있다. 

환불규정 및 보험 

이 또한 여름방학캠프를 선택함에 있어 매우 중요한 점검항목이다. 사정에 의해 캠프에 참가하지 못하게 되었을 때 환불을 받을 수 있는지, 캠프활동 중 우리아이가 다쳤을 때 보상을 받을 수 있는지 등을 사전에 꼭 점검하시고 캠프를 신청해야 한다. 

위와 같이 우리아이 여름방학캠프를 선택함에 있어 학부모들이 점검해야할 항목들만 해도 만만치 않다. 

그렇다면 국립청소년수련원에서 운영하는 캠프와 국가에서 캠프와 관련한 필수 요소들을 사전에 점검하고 인증한 ‘인증수련활동’을 선택하는 것도 현명한 선택이 될 것이다. 

‘인증수련활동’과 ‘인증수련활동 운영기관’에 대한 정보는 청소년수련활동인증정보시스템(yap.youth.go.kr)에서 확인할 수 있으며, 한국청소년활동진흥원의 국립청소년수련원 및 체험센터는 총 다섯 곳으로 국립평창청소년수련원(www.pnyc.or.kr), 국립중앙청소년수련원(www.nyc.or.kr), 국립고흥청소년우주체험센터(www.nysc.or.kr), 국립김제청소년농업생명체험센터(www.nyac.or.kr), 국립영덕청소년해양환경체험센터(www.nymc.or.kr)가 있다. 이를 운영하고 있는 한국청소년활동진흥원(www.kywa.or.kr)을 방문하면 위의 모든 정보를 한 눈에 확인할 수 있다. 



‘인증수련활동 참가’, ‘국립청소년수련원 운영캠프 참가’, ‘활동환경 점검, 주관단체 및 기관 점검’ 등 부모들이 다소 번거롭고 힘들더라도 우리 아이에게 소중한 추억이 될 2013년 여름방학 캠프를 안전하고 효과적으로 만들어보자. 또한 온 가족이 함께 참여할 수 있는 캠프에 참가하여 가족 간 소중한 추억을 만들어 보는 것도 뜻깊은 여름방학을 나는 지혜일 것이다.

캠핑장비 알뜰구입 및 현명한 캠핑장 선택 Tip

- 고가의 캠핑장비는 3차에 걸쳐 천천히 구매해야 후회가 없다 

장비는 크게 텐트, 타프, 침구매트, 캠핑가구, 주방기구, 조명기구, 기타 소모품 등으로 구분이 되는데 오토캠핑이 입식화 되면서 리빙쉘형 텐트가 도입되고 테이블과 의자 등의 캠핑가구가 필수장비로 추가되었다. 텐트도 대형화 되면서 장비들이 고급 및 고가화 되어 웬만큼 장비를 갖추려면 500만원 예산은 금새 초과를 하므로 장비구매 전에 철저한 계획 하에 3차에 걸쳐 순차적으로 구매해야 한다.

캠핑장비들은 고가에 품목도 많고 5년 이상은 사용해야 하므로 권유에 의하여 일괄구매를 하면 취향과 용도가 맞지 않아 금새 후회하기 쉬우므로 경험자들의 사용후기에 귀를 기울이거나 자신의 용도에 맞는 장비가 눈에 들어 올 때 까지 천천히 구매하는 것이 좋다.

먼저 대여텐트 전문 캠핑장에서 장비체험 캠핑을 하거나, 캠핑장을 찾아가서 장비의 쓰임새를 눈으로 확인 후 매장직원의 추천장비와 절충하는 것이 후회가 적은 구매가 되며 합리적인 장비선택의 지름길이다.

1차 구매로는 텐트와 그라운드시트, 메트, 보조스토브와 코펠, 보조렌턴 등으로 최소로 구매해서 가볍게 캠핑을 떠나 보면 나에게 무엇이 필요한지 감이 잡히며, 2차로는 타프, 침낭, 테이블과 의자, 키친테이블과 주방용품 등을 구매하면서 자동차의 적재공간을 살펴야 하는데, 많은 캠퍼들이 구매한 장비들을 다 실지 못해 집에 두고 떠나는 경우도 있으며 심지어 차를 바꾸기도 한다는 것이다.

화로대와 화로대 테이블, 메인 스토브와 조명, 보조테이블, 그릴용품, 루프백 등은 3차로 미루면서 몇 번의 캠핑경험 후 자신의 캠핑스타일과 구매능력에 따라 결정하는 것이 좋다.

장비선택 만큼이나 자연 조건이 좋은 캠핑장 선택 역시 즐거운 휴가의 필수요소다. 최근 우후죽순 생겨난 신생캠핑장들은 편의시설들이 좋고 대형텐트가 들어가기는 좋으나 나무와 그늘이 부족하여 한 낮의 뜨거운 열기를 피하기 어려운 곳이 의외로 많다. 고가의 장비를 가지고 뜨거운 햇빛 아래에서 고생을 하는 경우라면 즐거운 캠핑과는 거리가 먼 고생스러운 캠핑이 되는 셈인데 수용 규모가 30동이 넘으면 나무그늘이 부족하거나 운동장형 캠핑장일 가능성이 높다.

숲과 계곡을 품고 있는 자연조건이 좋은 캠핑장들은 중소형 텐트만 설치가 가능하므로 장비구매시 참조할 필요가 있다. 산림청에서 운영하는 자연휴양림은 노지캠핑이 불가하며 반드시 지정된 데크위에서만 야영이 가능하며 사전 예약은 필수다. 

2013년 7월 23일 화요일

oracle,count specific char in string (오라클 문자열의 특정문자 개수)

select (length(path)-length(replace(path,'/',''))) as depth from table

drop down menu jquery(jquery드롭다운메뉴)


<script>
$(document).ready(function(){
    $(".cmenu>span>a").click(function(){
        var submenu = $(this).parent().next("ul");
        if( submenu.is(":visible") ){
        $(this).parent().parent("li").removeClass('cmenu on').addClass('cmenu');
            submenu.slideUp();
        }else{
        $(".cmenu .hide").slideUp();
        $(".cmenu .hide").parent("li").removeClass('cmenu on').addClass('cmenu');
        $(this).parent().parent("li").removeClass('cmenu').addClass('cmenu on');
        submenu.slideDown();
        }
    });
    $(".cmenu:eq(0)>span>a").click();
});
</script>
<style>
    .cmenu a{cursor:pointer;}
    .cmenu .hide{display:none;height: 280px; overflow: auto;}
    
</style>




<div id="archive-lnb">
<h4 class="stit">Title</h4>
<ul class="bg">
<li class="cmenu on">
<span ><a href="javascript:void(0);">sub1</a></span>
<ul class="hide">
<li class="first">
<strong><a href="javascript:void(0);">sub2</a></strong>
<ul>
<li class="on"><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
</ul>
</li>
<li>
<strong><a href="javascript:void(0);">sub2</a></strong>
<ul>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
</ul>
</li>
</ul>
</li>
<li class="cmenu">
<span ><a href="javascript:void(0);">sub1</a></span>
<ul class="hide">
<li class="first">
<strong><a href="javascript:void(0);">sub2</a></strong>
<ul>
<li class="on"><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
</ul>
</li>
<li>
<strong><a href="javascript:void(0);">sub2</a></strong>
<ul>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
<li><a href="javascript:void(0);">sub3</a></li>
</ul>
</li>
</ul>
</li>

</ul>
</div>

2013년 7월 18일 목요일

jstl fn 트리구조에서 마지막 트리만 강조혹은 다르게 처리해야할경우

트리구조에서
마지막 트리만 강조하는 경우
<c:set var="text" value="${fn:split(name,'>')}" />
<div>${fn:replace(name,text[fn:length(text)-1],'')}<strong>${text[fn:length(text)-1] }</strong></div>

2013년 7월 17일 수요일

jsp jstl lastindexof onerror (get file ext onerror default image)

<c:set var="ext" value="${fn:split(file.name,'.')}" />
${ext[fn:length(ext)-1] }



<c:set var="ext" value="${fn:split(file.name,'.')}" />
<img src="/images/common/icon/${ext[fn:length(ext)-1]}.gif" onError="this.src='/images/common/icon/unknown.gif'" alt="파일 다운로드" />




Blocked a frame with origin "http://www.youtube.com" from accessing a frame with origin

1. http://로 시작해야한다.
2. 싱글톤으로 프래임을 끝내면 안된다. />와 같이 끝내면안된다.



Blocked a frame with origin "https://www.youtube.com" from accessing a frame with origin "http://www.yourdomain.com". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocol/Protocols must match, YouTube has CORS (Cross Origin Resource Sharing) enabled to allow across domains.
Try getting rid of the https:// in your YouTube iframe tag?
You could also take a look at your closing iframe tags. Iframe tags are not singleton tags and must end with a and not a />.

youtube autoplay

<iframe width="420" height="315" src="[YouTube Video URL]?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>

2013년 7월 16일 화요일

다음글 이전글 오라클 쿼리(oracle next pre query)

select * from
(
    select num, title, 
    lead(title,1,'다음글') over (order by num) next_title,
    lag(title,1,'이전글') over (order by num ) pre_title,
    from Tboard 

where best_code='2'

2013년 7월 15일 월요일

jstl 글자 자르기(jstl substring char)

<c:if test="${fn:length(reply.s_content) > 18}">
    <c:out value="${fn:substring(reply.s_content,0,15)}" />...                    
</c:if>
<c:if test="${fn:length(reply.s_content) <= 18}">
    ${reply.s_content}
 </c:if>

2013년 7월 9일 화요일

자바 현재 월 구하기 간단 코드(java get current month simple code)

GregorianCalendar today = new GregorianCalendar() ;
int month = today.get(today.MONTH)+1;
pkind = Integer.toString(month);

2013년 6월 25일 화요일

학가협(폭력없는 평화로운 학교 만들기) 소개

우리나라에도 학교폭력방지를 위해서 애쓰시는 분들이 많이 계십니다. 그중에 한분이 학가협(폭력없는 평화로운 학교만들기)회장 조정실씨 입니다. 관련자료는 http://uri-i.or.kr/에 많이 있습니다. 폭력사례부터 대처방법까지 찾아보고 많은 도움을 받았으면 합니다.

학교폭력에 괴롭워하는 학생들, 그리고 그 부모님들 많이들 도움을 받았으면 합니다.

다음카페이기에 다음 아이디가 있어야하지만 간단하게 가입할 수 있습니다.

http://uri-i.or.kr/   (학가협)




ArrayList Deduplication java ( 자바 arraylist 중복제거)

//listArray 중복제거
listArray.add(...);//add 

hashset에 넣으면 한번에 중복이 제거된다. 

List<Integer> arrDeleteNo = new ArrayList<Integer>(new HashSet<Integer>(listArray));

andoid get device id (안드로이드 디바이스 아이디 가져오기)

1.AndroidManifest.xml에 퍼미션을 추가해준다.(add permission AndroidManifest.xml)
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

2. 
TelephonyManager tm =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

String deviceid = tm.getDeviceId();

get macaddress android (안드로이드 맥어드레스 가져오기)

1.AndroidManifest.xml setting(AndroidManifest.xml 다음의 권한을 추가)
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

2. make mathod(메소드를 만들어 사용한다)

public String getMacAddress(Context context) {
    WifiManager wimanager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    String macAddress = wimanager.getConnectionInfo().getMacAddress();
    if (macAddress == null) {
        macAddress = "와이파이가 안되거나 맥어드레스가 없는경우";//device has no macaddress or wifi is disabled
    }
    return macAddress;
}

3. call mathod from other activity(다른 엑티비티에서 사용하기)
String macaddredd = getMacAddress(this);//or this.activity()

html의 데이타를 excle로 저장하기 간단소스 jsp (html table excel export simple jsp source)

//Data.html-------------data what you want to make to Excel(엑셀로만들 데이타)


<script type="text/javascript">
function excel(){
document.frm.action = "excel.jsp";
document.frm.excel_data.value = document.getElementById("excel_body").outerHTML;
document.frm.submit();

}
<form name="frm" method="post">
       <input type="hidden" name="excel_data" />
</form>
<table id="excel_body">
<caption>list</caption>
<thead>
<tr>
<th>userid</th>
<th>name</th>
<th>mail</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="data" varStatus="status">
<tr>
<td>
<c:out value='${data.userid}' />
</td>
<td>
<c:out value='${data.username}' />
</td>
<td>
<c:out value='${data.email}' />
</td>
</c:forEach>

</tbody>
</table>



//excel.jsp---------------------use just C&P (그냥복사해서 쓰세요)
<%
request.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment; filename=\"excel.xls\"");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
out.print("<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel; charset=utf-8\">");
%>
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<style type="text/css">
body {font-family:tahoma;font-size:12px}
table {padding:2px;border-spacing:0px;font-family:tahoma;font-size:12px;border-collapse:collapse}
td {text-align:center}
</style>
</head>
<body>
<% out.print(request.getParameter("excel_data")); %>
</body>
</html>

spring security logouthandler source

spring security logouthandler는 기본적으로 log-ut-url을 설정해서 사용하지만. 특별한 경우 예를들면 서브도메인이 존재하는 경우 로그아웃을 눌렀을 경우 서브도메인에 따라 로그아웃 후에 경로를 달리해야할 경우가 있다. 1)기본적인 logout 방법 url을 지정해서 사용하는 경우(하나의 url로만 지정된다) <logout invalidate-session="true" logout-success-url="/" /> 2)로그아웃 경로를 달리해야할경우 <logout invalidate-session="true" success-handler-ref="logoutSuccessHandler" /> <beans:bean id="logoutSuccessHandler" class="com.xxx.xxx.security.LogoutSuccessHandler" />

아래는 class SOURCE =====SOURCE

import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler;
import org.springframework.stereotype.Component;

@Component
public class LogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler {

    @Override
    public void onLogoutSuccess(javax.servlet.http.HttpServletRequest request,
                                javax.servlet.http.HttpServletResponse response,
                                Authentication authentication)
            throws java.io.IOException, javax.servlet.ServletException {

       

                if(request.getParameter("SOMEVALUE")){
response.sendRedirect("/url A"); //이부분을 분기처리(if)해서 달리해주면 된다.
}else{
response.sendRedirect("/url B");
}

    }
}

//HTML
<a href="<c:url value="j_spring_security_logout/?logoutURL=SOMEVALUE" />" > Logout</a>






혹시나 하는 맘에 분기처리하는 방법은
request.getParameter로 로그아웃화면에서 특정한 parameter를 날려도 좋고
혹은 request.getServerName() 등으로 받아서 처리해도 좋다. 
사용방법은 본인의 생각에 따라 달리하면 될듯하다.

가장 간단한 방법은
이런식으로 넘겨주고 request.getParameter로 받아서 if로 처리하는 방법이 가장 간단하다. 

더 좋은 방법이 있다면 알려주면 감사합니다.~

오늘본 상품 소스

여기저기 돌아다니다가 보고 만든 코드..
오른쪽 상단에 떠있는 레이어로 나오도록 추가했다.

1.===============================================
쿠키를 굽는 소스, 상품상세페이지 첫상단에 코드를 추가해주면 된다.
=================================================

<?//$brandcode = $_GET["brandcode"]; //brandcode : 상품 번호
$i=0;
$today=$_COOKIE['goods_view'];
$tod2=explode(",", $_COOKIE['goods_view']); //저장된 쿠키값을 ','로 나누어 배열로 저장
$tod=array_reverse($tod2); //최근 목록 5개를 뽑기 위해 배열을 최신 것부터로 반대로 정렬해준다.
//중복을 막기 위해 최근 5개의 쿠키값 중에 상품 번호가 있는 지 검사하여 있으면 save 값을 no로 설정
while($i<5){ //출력할 상품 목록의 수 설정
 if($brandcode==$tod[$i]){
  $save=no;
 }
 $i++;
}

//쿠키값이 없을 경우 즉 처음 저장하는 경우
if($_COOKIE['goods_view']==""){
 setcookie('goods_view', $brandcode, time() + 86400, "/");
}

//저장된 쿠키값이 존재하고, 중복된 값이 아닌 경우
if($_COOKIE['goods_view'] != "" & $save != no){
 setcookie('goods_view' , $today. "," . $brandcode , time() + 86400, "/");
}
?>
<!--<script language="JavaScript">
javascript:alert(document.cookie);//요건 쿠키가 잘 됐는지 확인해 보는 자바스크립트
</script>-->

2.================================================
오늘본상품을 보여주는 코드 head나 footer처럼 모든 페이지에서 사용하는 곳에 소스를 추가하면 되겠다.
=================================================

<script type="text/javascript"
            src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" >
    </script>
<script type="text/javascript">
 $(document).ready(function(){
  var currentPosition = parseInt( $(".float").css("top"));
  $(window).scroll(function(){
   var position = $(window).scrollTop();
   $(".float").stop().animate({"top":position+currentPosition+"px"},1000);
  });
 });
</script>
<style>
 .float{position:absolute; top:110px; right:30px;}
</style>

<?
//include("/inc_mysql_connect.html");
$today2 = explode(",", $_COOKIE['goods_view']);
$today_t=array_reverse($today2); //최근 것부터 정렬하기 위해 배열 순서를 반대로 바꿔준다.
?>
<div class="float">
<table border=0 background="../img/today.gif" style=background-repeat:no-repeat width=80 height=500 cellpadding=0 cellspacing=0;>
<?
 if(!($today_t[0] == "" || $today_t[0] == null)){
?>
<tr style="paddind-left:10px;"><td height=20><strong>오늘본상품</strong></td></tr>
<?} ?>
<?
//상품명을 몇 자로 이내로 자르는 함수
function substr2($str, $start, $end){ //start부터 end까지 상품명을 추출한다.
 preg_match_all('/([\x00-\x7e]|..)/', $str, $string);
 return implode('',array_slice($string[0],$start,$end));
}
?>

<?
for($i=0; $i<5 && $today_t[$i]; $i++){
 if($today_t[$i] !=""){
 $query="select brandcode,brandname,minimage from brand where brandcode=$today_t[$i]";
 $result=mysql_query($query);
 $rows=mysql_fetch_array($result);
?>

<tr align=center style="padding-right:15px;padding-top:5px;">
 <td align=center height=42 >
 <a href="view.html?brandcode=<?=$rows[brandcode]?>">
  <img src="../shopimages/<?=$rows[minimage]?>" width=60 height=42 border=0 onerror='this.src=../img/noimage.gif'>
 </a>
 </td>
</tr>
<?
 echo "<tr><td align=center height=5 style=padding-right:15px;line-height :9px; font-size:9,>".substr2($rows[brandname],0,10)."</td></tr>";
 /*echo "<tr><td align=center height=5 style=line-height :9px; font-size:11>"."\\".number_format($rows[price])."</td></tr>";*/
 }
}
?>
<tr>
<td></td>
</tr>
</center>
</table>
</div>


이상.. 변수는 각자 알아서 하면 될듯.