본문 바로가기

PHP73

게시판 DB 스키마 정리 2009/02/07 - [잡담] - 추천서적 : 성공적인 웹 프로그래밍 PHP와 MySQL (제3판)"성공적인 웹 프로그래밍 PHP와 MySQL" 이라는 책을 읽고 난 뒤 DB의 스키마를 정리해 보았다.(읽을 수록 괜챦은 책이란 생각이 든다.)board (code, main_no, id, title, name, contents, passwd, date, count, email, reply_no, rel_no, depth, filename)code (num, code, bbs_name, passwd, readonly) 굵은체로 표시된 것이 primary key고, code 테이블에 이탤릭체로 표시된 code 는 board 테이블을 참조하는 foreign key다.맨 처음 게시판을 만들 때와는 조금 달라졌다.. 2009. 2. 12.
게시판 검색 기능 수정 2008/11/22 - [게시판 만들기] - 검색 기능 추가 이전 검색기능은 잘 모르는 상태에서 만들다 보니 실행이 잘 안됐다. 아래는 수정한 코드다. //검색 시 DB 쿼리에 추가할 부분 //form submit 할 때 히든값으로 $mode 값을 넘긴다. if($mode=='search') { switch ($key) { case "title": $s_sql .= " AND title LIKE '%$keyword%' "; break; case "contents": $s_sql .= " AND contents LIKE '%$keyword%' "; break; case "name": $s_sql .= " AND name LIKE '%$keyword%' "; break; } } ... //DB로부터 값을 가.. 2009. 2. 11.
블로그에 소스코드 하이라이팅해서 넣기 예전 어느 블로거의 글을 보고 소스코드를 블로그에 넣을 수 있는 방법이 있다는 것을 알았는데, 그동안 잊고 지내다가 업그레이드를 해봤다. http://alexgorbatchev.com/wiki/SyntaxHighlighter 티스토리에는 스킨 -> HTML/CSS 편집 메뉴에서 images 폴더에 위의 하이라이터 자바스크립트와 CSS 파일 등을 모두 올려놓은 뒤 URL만 처럼 바꿔 주면 된다. 이전 버전을 쓰고 있었다면 호환성을 유지하는 방법도 적혀있는데 해보니 잘 안되네...쩝 2009. 2. 11.
네이버 스마트에디터 풍부한 스타일을 사용하려면 앞으로 네이버 스마트에디터(이하 SE)를 계속 쓰게 될 것 같아 팁을 적어놓을 겸 해서 카테고리를 아예 하나 만들었다. 게시판에 붙여서 쓰다보니 글을 작성할 때는 인용문구나 여러 가지 효과가 잘 적용이 되는데, 작성한 뒤에 게시글을 보면 그 효과가 나타나지 않아 생각해 보니 역시 스타일시트가 제대로 적용되지 않아서였다. SE가 제공하는 스타일시트는 2가지가 있는데 말 그대로 기본적인 스타일시트를 적용하는 default.css와 다른 하나는 style.css다. (모두 하위 css 폴더에 저장이 되어 있다.) style.css 를 열어보면 아니나 다를까 .smartOutput이라는 클래스가 정의되어 있고, 친절히 주석까지 붙어 있었는데 그걸 못봤네... .smartOutput{ font-size:12px;.. 2009. 2. 11.
비밀번호 암호화해서 DB에 저장 후 비교하기 비밀번호를 저장하는데 여러 가지 방법이 있더군요. 그 중에 php의 sha1() 함수를 써보았습니다. 우선은 회원가입 시 sha1() 함수로 비밀번호를 DB에 저장합니다. POST 방식으로 아이디와 비밀번호가 넘어왔다면, $passwd 변수에 sha1() 함수의 리턴값을 대입해서 암호화합니다. $id = $_POST['id']; $passwd = sha1($_POST['passwd']); mysql_query("INSERT INTO member (id, passwd) VALUES('$id', '$passwd')"); 이 때 중요한 것이 DB의 passwd 자릿수입니다. varchar(41) 로 잡아줍니다. 2009. 2. 9.
네이버 스마트에디터 사용 중에... 게시판을 만들면서 최근에 네이버 오픈소스 스마트에디터가 나왔길래 textarea에 적용을 했다. 일반적으로는 큰 문제없이 사용이 잘 된다. 특별한 기능을 붙인 것도 없고, 그냥 디폴트 상태로 사용 중이다. 이미지 삽입 등의 기능이 좀 아쉽지만, 그건 나중에 해결하고...(데모에는 있다.) 그런데 문제는 FF에서 사용했을 때이다. IE에서는 큰 문제없이 사용이 가능하지만, 가끔 FF에서 문제가 발생하는 경우가 있다. 예를 들면, 툴바가 텍스트영역 밑에 깔려버리는 현상이라든지...(이건 아직 해결을 못하고 있다.) 다른 CSS와의 충돌때문이라고 예상은 하지만 어떻게 손을 봐야 할런지 감감... 일반인들은 대개 IE를 사용한다. 따라서, 지금 있는 그 상태로 써도 무방하다. 하지만, 정작 내가 맥에서 FF을 .. 2009. 2. 4.
SQL now() 사용하기 DB 필드명과 타입을 reg_date datetime 형태로 만들고, 데이터 입력 시에 now()를 주면 날짜와 시간이 모두 들어간다. (예: 2009-01-01 12:00:34 ) INSERT INTO member (id, passwd, ... reg_date ) VALUES('test' , '1111', ... now() ); 만약 뒤의 시간이 필요없다면, 그냥 컬럼타입을 datetime -> date로 바꿔주면 2009-01-01 만 입력이 된다. 기존에 데이터가 입력되어 있더라도 업데이트를 하면 그냥 날짜만 남는다. 시간을 날짜만 혹은 날짜와 시간을 함께 적절하게 입력할 필요가 있을 때 쓰면 편하다. 2009. 1. 29.
PHP 막대그래프 그리기 이상하게 graphite나 jpgraph를 단독으로 쓰면 그래프 예제 등이 잘 보이는데 다른 소스 내에 포함시켜쓰려니 꼭 헤더가 이미 보내졌다면서 문제가 발생하더군요. 그래서 그냥 하나 만들어서 쓰려고 여기 저기 찾던 중 아래와 같은 소스를 구했습니다. $max_value) $max_value = $val[$i]; } $im = @ImageCreate($x,$y) or die ("이미지를 초기화 하지 못했습니다"); switch($theme) { case "red" : $backgroundcolor=ImageColorAllocate($im,208,208,208); //-- 그래프 바탕색 $rectanglecolor = ImageColorAllo.. 2009. 1. 26.
네이버 스마트에디터 사용하기 아무래도 일반 를 사용하는 것보단 예쁘고 깔끌하게 작성 글을 꾸밀 수 있는 적당한 웹에디터를 찾고 있었는데, 이번에 네이버에서 공개한 스마트 에디터가 눈에 띠더군요. http://dev.naver.com/projects/smarteditor 지속적인 업데이트나 사후관리가 괜챦을 것 같아 한번 채용해봤습니다. 나름 괜챦습니다. 아직까지 약간의 버그들이 있어 보이지만, 실무에 적용하는데 큰 무리는 없어보이고 버그들에 대한 리포트와 그에 대응하는 디버깅도 빠른 편입니다. 파이어폭스와 적용에 약간의 문제가 있어 몇 번 문의를 했는데 잘 해결이 되었습니다. 사용방법도 간단합니다. CSS와 자바스크립트를 상단에 넣어주고, 기존의 영역에 똑같이 스마트에디터를 삽입하고, 문서의 맨 마지막이나 onload 시에 스마트에.. 2009. 1. 21.