PHP 56

게시판 검색 기능 수정

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로부터 값을 가..

비밀번호 암호화해서 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) 로 잡아줍니다.

PHP 2009.02.09

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..

PHP 2009.01.26

PHP 코딩 시 유의사항

웹 표준에 대한 글들을 접하다 보니 PHP 코딩 관련한 내용들도 있었는데, 그 중 자주 범하는 실수(?)가 태그 href에 자바스크립트를 넣는 것이란다. 확인 사실 나도 위에서 처럼 코딩을 하곤 했는데, 아래와 같이 onclick="" 이벤트에 넣는 것으로 바꾸었다. 확인 그리고 하나 더...보통 GET 방식을 넘기기 위해 form.php?date1=$date1&date2=$date2 뭐 이런 식으로 &를 쓰는데, 이것도 & 식으로 바꾸어주는 것이 좋다고...

PHP 2009.01.15

게시판 만들기 진행상황

마지막으로 글을 올린지도 벌써 한달이 지났군요. 그 사이 쇼핑몰을 공부하면서 만드느라 게시판 쪽에 신경을 쓸 겨를이 없었는데, 어차피 이 게시판도 쇼핑몰에서 쓸 것이라 계속 손을 보고는 있습니다. 현재는 CSS를 적용해서 나름 조금 더 깔끔하게 꾸몄습니다. 아직 회원 관리 기능과의 접목과 게시판 관리 기능 등등이 할 일이 많네요. 제일 고민되는 부분이 사이트와의 연동인데, 옛 제로보드처럼 위의 게시판 본체 부분을 두고 상단과 하단에 다른 소스를 불러와서 전체 사이트와 연동이 되게 해야 하나...걱정입니다. 쇼핑몰에서 보이는 부분과 관리자 영역에서 보이는 상하단 부분이 다르다 보니, 이걸 합리적으로 해결하는 방법을 찾고 있습니다. (도와주세요...-_-) 그나저나 게시판 만들면서 공부했던 것들이 쇼핑몰을 ..

거래명세서/세금계산서 출력용 PHP 라이브러리

와우 아주 쓸만한 범용, 그것도 무료 PHP 라이브러리를 하나 찾았습니다.http://gizmo.co.kr/?hid=romeo&ano=41&v=c#QcommentStart거래명세서와 세금계산서를 아주 폼나게 출력해 주는 클래스들로 구성된 것입니다.http://gizmo.co.kr 출력물이 꽤 쓸만하죠?사용법은 간단합니다.$NFORM->PrintNote(); 함수를 호출하게 되면 바로 화면 상에 위와 같은 것을 뿌려주기 때문에출력할 값들을 넘겨받아 위의 함수를 호출하도록 별도의 PHP 파일을 하나 만들면 될 것 같습니다.예를 들어 print.php 라는 파일을 만들었으면, 상단에 include나 require 문을 사용해 클래스 정의파일을불러옵니다. 그리고, class.trade_note.php 파일에 함..

PHP 2009.01.07

게시판 만들기 중간 소스 정리

요 사이 다른 것을 만드느라 게시판 만들기는 당분간 좀 유보했습니다. 자기가 만들고도 나중에 헷갈리는 경우를 방지하기 위해 중간 중간 정리하는 차원에서 소스를 올립니다. 그러나... 혹시라도 이 소스를 받으시는; 분들이 계시다면... 누차 말씀드리지만, 본 소스는 강좌용이 아닌 개인공부용으로 개발 중인 것이라 오류가 있을 수도 있고 최적화가 되어 있지 않습니다. 설치 전에 반드시 db_connect.php 파일을 본인의 데이터베이스 정보에 맞게 수정하셔야 하며, 이후에 create_db.php를 웹브라우저에서 실행하시면 됩니다. 소스를 보시고, 더 좋은 방법이나 개선방법을 알고 계시다면 공유 부탁드려요~ ^^; 지금은 잠시 손을 놓고 있지만, 1. 멀티게시판 (공지,질문 등등의 게시판을 하나의 소스로 사..

첨부파일 수정하기

게을러서 이제야 글을... 기존에 첨부 파일 하나를 추가할 수 있는 기능을 작성했는데, 이번에는 작성한 글을 수정하는 기능도 변경해야 한다. //기존 첨부파일 여부 체크 if(strlen($row['filename']) > 0) { $path = "upload/".$row['filename']; //Array 값으로 분리, [0]에는 "_"이전 값이, [1]에는 "_"이후 값이 들어있다. $chk_name = explode("_", $row['filename']); $old_file = $chk_name[sizeof($chk_name)-1];} 상단에서 일단 첨부파일이 있는지 체크를 한다.그리고, 본문에서 첨부파일이 있을 때는 보여주는 코드를 작성한다. 없다면 그냥 첨부할 수 있는 폼을..

여러 개 파일 첨부하기

여러 개의 파일을 첨부하는 것도 그리 어렵지 않다. uploadedfile[]같 배열값으로 넘겨주면 된다.$max_file_num = 3; //업로드할 파일 갯수 지정 echo "\n"; for($i=0; $i 파일 첨부 (1M이하)  \n"; } echo "\n"; 그리고 처리하는 부분에서 for문을 돌리면 된다.$file_count = count($_FILES['uploadedfile']['name']);$count = $file_count; for($i=0; $i  위에서 $count 변수는 실제 업로드된 갯수를 말한다. 로드를 3개까지 할 수 있다면, 실제로는 하나만 업로드를 할 수도 있기 때문에 별도로 체크를 했다. 아마도 이런 식으로 하면 여러 개의 파일을 업로드 하는데도..

파일 첨부하기

파일 업로드를 구현하는데 많은 시간이 걸렸다. 아니 정확히 말하면 업로드된 파일을 수정하는데 시간을 많이 잡아먹었다. 첨부파일을 하나 올리는 것은 그리 어렵지 않게 했으나, 욕심이 생겨 처음부터 3개 정도의 파일을 올리는 것이 좋겠다 싶어 3개의 파일을 첨부할 수 있도록 했다. 뭐 이것도 그럭저럭 됐다. 그런데 문제는 올려진 파일을 수정하는데서부터 어려움을 겪기 시작했다. 파일이 3개다 보니 수정 시에 체크할 것도 많아지고, 제대로 동작이 안되는 일이 빈번했다. 체크된 파일만 삭제해야 하거나 기존 첨부파일은 그대로 두고 새롭게 파일을 올리거나, 기존 첨부파일을 덮어쓰거나...여러 가지 경우의 수가 발생했는데 이것을 다 핸들링하는 것이 좀 버거웠다. 그래서, 결국 하나의 파일만 우선 첨부하거나 첨부파일이 ..

변수명 다음에 자동으로 숫자 붙이기

예를 들어, $file1, $file2, $file3 ... 처럼 변수명 다음에 원하는 수 만큼 숫자를 붙이려면 어떻게 할까요? 위와 같이 변수명을 { } 대괄호로 감싸면, $file0, $file1, $file2 식으로 변수명이 됩니다. 출력은 아래와 같이 됩니다. file0 = coffee file1 = brown file2 = caffeine 만약, $file.$i = $info[$i]; 처럼 했다면 $file 변수에 쓰레기값이 들어있기 때문에 원하는대로 출력이 되지 않습니다. 이번에 게시판을 만들면서 DB에 저장하기 위해 쓴 방법입니다. 참고한 자료 : http://www.itmembers.net/board/zboard.php?id=php2

PHP 2008.11.24

explode() 함수 이해하기

문자열을 다루는 함수 중에 explode()가 있어서 쓸 일이 있었는데 엉뚱하게도 Array이라는 문자가 출력이 되며 값이 제대로 안나오더군요. 2008/11/24 - [PHP] - Array 값을 디버깅하기 앞서 올린 글에서처럼 디버깅을 해봤더니 이게 배열로 저장이 되는 것이었습니다. $filename = "file.jpg"; $chk_name = explode(".", $filename); $extension = $chk_name[sizeof($chk_name)-1]; $chk_name[0] 에는 파일명인 file이, $chk_name[1] 에는 확장자인 jpg 가 저장이 됩니다. 그래서 위에서 $extension에 jpg이 저장되게 하려고 sizeof() 함수를 통해 값을 구했습니다.

PHP 2008.11.24
반응형

최근 댓글

Total

  • Today :
  • Yesterday :