|
'노하우'에 해당되는 글 22건
[폭주기관차, 2009/09/14 16:33, [Programming]/PHP]
간혹 세션과 쿠키 때문에 아래와 같은 오류가 종종 발생한다. Warning: Cannot modify header information - headers already sent by
(output started at /파일이름.php:라인번호) in /파일.php on line 번호 짧은 지식으로 해석해보자면 경고 : 헤더 정보를 수정할 수 없습니다 - 헤더가 이미 보내졌습니다.
(/파일이름.php파일의 몇번째 라인에서 출력이 시작되었습니다.) /파일.php 파일의 몇 번째 라인에서 에러가 났심 즉, 세션과 쿠키는 헤더가 선언되기전에 문자가 출력이 되어서는 안된다는 뜻이다. 왜 오류를 일으킬까? 그 이유는 세션이나 쿠키는 자신의 일을 수행함에 있어 헤더를 수정하여 사용하기때문입니다.. 수정하여 사용하여야 되는데 이미 어떤값이 출력된 상태이면 헤더가 이미 사용되었기때문에 아하~ 그렇다 그래서 <HEAD> 다음에 어떠한 문자라도 출력된 다음에 세션이나 쿠키에 저장하려고 참고로 정말 찾기 힘든 오류 중에 하나가 아래와 같은 경우 일 것이다. <?
위와 같은 경우도 에러가 난다. <? set_session("a",1); // 세션함수콜 ?>
요점정리 Trackback Address :: http://kongmks.cafe24.com/trackback/301
[폭주기관차, 2008/08/26 11:26, [Programming]/PHP]
SQL 자체에서도 날짜 계산이 가능하지만
간단하게 PHP안에서 날짜 계산하는 방법 date.php파일에 아래의 코드를 삽입해보자 echo "오늘로부터 1년뒤 : ".date('Y-m-d',strtotime("+1 year")); echo "오늘로부터 1달뒤 : ".date('Y-m-d',strtotime("+1 month")); echo "오늘로부터 1일뒤 : ".date('Y-m-d',strtotime("+1 day")); 아주 간단하다 ㅋㅋ 참고 : PHP 스쿨의 그마음만은한결같기를...♡님의 답변 Trackback Address :: http://kongmks.cafe24.com/trackback/297
[폭주기관차, 2008/03/18 20:22, [Programming]/JavaScript]
//쿠키 초 단위로 설정하는 함수사용 예제) setCookie( "Tester", "234", 30 ); var Tester = getCookie( "Tester" ); alert( Tester ); 이렇게 사용하면 Tester에 234라는 값이 들어가게 된다. 이 쿠키의 setCookieTime의 window.document.cookie에 들어가는 값을 보면 window.document.cookie = "쿠키이름=쿠키의값;path=/;expires=유효기간;domain=도메인"; 이렇게 되어있다. path는 이 쿠키의 값을 읽어올 수 있는 경로의 범위이다. path값을 안넣어주면 이 쿠키가 설정되는 문서의 위치의 디렉토리와 하위디렉토리까지 문서에서만 사용할수가 있게 된다. 즉, 만약 상위 디렉토리에 있는 문서에서 이 쿠키값을 가져올 수가 없는 것이다. path로 '/'를 주게 되면 루트 도메인에서부터 하위 디렉토리 전체에서 이 쿠키값을 사용할 수 있게 된다. 이 것을 모르고 2일 간을 고생했다.(괜히 쿠키 버그 탓 하고 있었다..ㅡㅡ;;) 도메인은 위의 경로처럼 한 사이트에서 만든 쿠키가 다른사이트에 영향을 주지 않으므로 적용될 도메인을 기록하면 된다. 생략하면 자동으로 사이트의 기본 도메인으로 설정된다. 유효기간은 설정하지 않으면 익스플로워를 닫을때까지 유효하게 된다. 그리고 생성된 쿠키의 값을 보면 * Tester 234 www.test.co.kr/ 1600 3762760832 29884808 1686902864 29881791 * 이렇게 들어가져있는 것이 보인다. 처음에는 쿠키 이름, 쿠키의 값, 쿠키가 적용될 사이트 이름, 그 밑으로는 아마 유효기간이나 기타 등등 정보가 저장된 듯 하다. 자세한건 책을 좀더 찾아봐야할 것 같고 여기서는 간단하게 쿠키를 자바스크립트로 저장하고 불러오는것만 알아보았다. 참고 : 굄돌님의 블로그 글 Trackback Address :: http://kongmks.cafe24.com/trackback/286
[폭주기관차, 2008/03/12 15:18, [Programming]/Visual C++ API/MFC]
MFC에서 List Control(리스트 컨트롤)의 특정 위치를 선택하는 함수를 구현해보았다.
void SetLlistCtrlSelected(CListCtrl *pCtrl, int uid) { pCtrl->SetItemState( uid, LVIS_SELECTED, LVIS_SELECTED ); // 회색 됨 pCtrl->EnsureVisible( uid, FALSE ); // 스크롤 pCtrl->SetFocus(); // 파랗게 만들기 } 매개변수 : pCtrl은 List Control의 포인터. uid는 선택을 할 목록의 자리이다. 즉, 몇 번째 자리를 선택할지 여부이다. 설명 : SetIteamState란 함수로 uid번째의 아이템을 선택하도록 한다. 이 함수만 수행하면 아마 회색(포커스가 없는) 상태가 된다. 그래서 SetFocus란 함수를 이용하여 파란색(윈도우 설정마다 다르겠지만, 포커가 있는) 상태로 만든다. 그 중간의 EnsureVisble은 선택하려는 컬럼이 스크롤 밑에 있을 경우 그 쪽으로 이동시켜주는 역할을 한다. 다이알로그 창이 뜰 때 초기 선택할 값으로 이용할때 사용하면 좋다. 참고 : 메모장_MFC의 글 Trackback Address :: http://kongmks.cafe24.com/trackback/282
[폭주기관차, 2008/02/27 14:26, [DBMS]/MySQL]
MySQL에서 LIKE로 문자 비교시 자동으로 대소문자를 구별하게 되어있다.
어떻게 보면 편한 기능이기도 하면서도 좀더 자세한 검색을 위해서는 불필요한 경우가 있다. 그럴경우 두 가지 방법이 있는데 한 가지는 테이블을 생성할때 필드에 BINARY라는 옵션을 붙여주는 거다. (이미 생성된 테이블일 경우에는 ALERT로 BINARY를 수정해주면 된다.) 하지만 이렇게 만들기란 여간 번거로운 작업이 아니다. 두번째 방법은 비교할때 BINARY란 함수를 이용하는 것이다. SELECT * FROM TEST WHERE NAME LIKE BINARY( 'Test' );이렇게 조회를 하면 대소문자를 구별하여 정확하게 출력이 된다. 참고 : PHP School의 루시퍼님의 답변글 Trackback Address :: http://kongmks.cafe24.com/trackback/278
[폭주기관차, 2008/01/16 13:50, [Programming]/Visual C++ API/MFC]
Windows의 창을 조절하는 기능 중에서 최소한 어느정도 이하로는,
초대한 어느정도까지만 확대를 할 수 있도록 하고 싶을때 아래와 같은 방법을 사용하면 된다. 우선 OnGetMinMaxInfo이 함수를 오버라이딩 해야한다. 윈도우 위자드에서 CMainFrame에서 오버라이딩 하면 된다. 단, 다이얼로그에서는 ClassWizard에서 아무리 찾아봐도 WM_GETMINMAXINFO라는 메세지를 찾을 수 없을 것이다. 그 이유는 메세지 필터가 다이얼로그로 되어있기 때문이다. 이는 ClassWizard에서 ClassInfo를 선택해서, Advanced options에 있는 메세지필터를 window로 설정 하고 찾아보면 된다. void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR *lpMMI) { // TODO: Add your message handler code here and/or call default LPMINMAXINFO lpminmax = (LPMINMAXINFO)lpMMI; //여기서 최소값을 정해주면 그 크기 이하로 줄지 않는다. lpminmax->ptMinTrackSize.x = 300; lpminmax->ptMinTrackSize.y = 300; //여기서 최대값을 정해주면 그 크기 이상으로 커지지 않는다. lpminmax->ptMaxTrackSize.x = 500; lpminmax->ptMaxTrackSize.y = 500; CDialog::OnGetMinMaxInfo(lpMMI); } 출처 : jytkm2님의 블로그 Trackback Address :: http://kongmks.cafe24.com/trackback/277
[폭주기관차, 2008/01/11 17:15, [Programming]/Visual C++ API/MFC]
함수에 가변인수를 주는 예제를 하나 작성해보았다.
#include <stdio.h>va_list : 데이터 타입으로 사용자가 입력한 값이 저장되는 공간입니다. va_start(va_list argptr, arg_data_type) : 2개의 인자를 받는 매크로입니다. va_arg(va_list argptr, T) : 다음 인자가 있을 경우 그 곳으로 이동하는 매크로입니다. va_end(va_list argptr) : 가변 인자 처리 끝났음을 알리는 매크로입니다. 출처 : 가변인수의 예제 Trackback Address :: http://kongmks.cafe24.com/trackback/274
|
||





