'php'에 해당되는 글 5건

  1. 2007.03.29 Delphi for PHP
  2. 2007.03.26 Delphi 2 PHP Function
  3. 2006.02.19 화니의 PHP강의 - 3편 코드 및 정리 (4)
  4. 2006.02.18 화니의 PHP강의 - 2편 게시판 (2)
  5. 2006.02.18 화니의 PHP강의 - 1편 DB의 사용 (9)
사용자 삽입 이미지

Delphi for PHP Trial 버전이 나왔습니다.
근데 1day trial -_-;;
설치 프로그램은 30메가 정도로 크진 않네요
업무용 프로그램을 개발하는데 좋을 듯합니다.
제가 못찾은건진 몰라도 FTP로 전송하는 기능이 없네요;

다운로드는
http://www.codegear.com/Downloads/TrialandFreeVersions/Delphi/DelphiforPHP/tabid/250/Default.aspx
에서 가능.
메일로 라이센스 파일이 옵니다. 설명대로 하시면 실행이 가능합니다
신고

'이야기 > 프로그래밍' 카테고리의 다른 글

Delphi 2007 for Win32  (1) 2007.04.05
Delphi for PHP  (0) 2007.03.29
Borland Developer Studio 2006  (2) 2006.02.01
볼랜드, 델파이2006/C++빌더2006 발표  (2) 2005.10.12
Posted by 화니.

댓글을 달아 주세요

저 혼자 작성한 함수들입니다.
PHP를 배우신 분에게 익숙하게 만든 함수예요
http://kr.php.net 의 메뉴얼과 같은 방식이지만 델파이 특성으로 가끔 다른것도 있습니다.
거의 문자열 관련 함수들이고 앞에 php_ 를 붙이면 됩니다.

지원함수 목록
Const
 PHP_RAND_MAX=2147483647;
function php_basename(path:String; suffix:String=''):String;
function php_copy(source:String; dest:String):Boolean;
function php_date(format:String;timestamp:Integer=0):String;
function php_dirname(path : String):String;
function php_exec(command:String):String;
function php_explode(Const separator, str:String):TStringList;overload;
procedure php_explode(Const separator, str:String;var Data:TStringList);overload;
function php_file_exists(filename:String):Boolean;
function php_floor(value : Extended):Integer;
function php_filesize(filename:String):Int64;
function php_implode(glue:String;pieces:TStrings):String;
function php_intval(str:String):Integer;
function php_is_dir(filename:String):Boolean;
function php_join(glue:String;pieces:TStrings):String;
function php_mkdir(pathname:String;mode:Integer=0):Boolean;
function php_md5(str:String;raw_output:Boolean=False):String;
function php_rand(Min:Integer=0;Max:Integer=0):Integer;
function php_round(val: Extended; precision:Integer = 0):Integer;
function php_server(name:String):String;
function php_strlen(str:String):Integer;
function php_strpos(haystack : String;needle : string;offset:Integer=0):Integer;
function php_strrchr(haystack:String;needle:String):String;
function php_strrev(Const str:String):String;
function php_strrpos(haystack:String;needle:String;offset:Integer=0):Integer;
function php_strtolower(str:String):String;
function php_strstr(haystack, needle:String):String;
function php_str_replace(Const search, replace, subject:string):string;
function php_substr(str : string;start:Integer;plength:Integer=0):String;
function php_time():Integer;
function php_trim (str:String):String;
function php_urldecode(str:String):String;
function php_urlencode(str:String):String;
function php_utf8_decode(data:String):String;
function php_utf8_encode(data:String):String;
function php_unlink(filename:String):Boolean;
function php_ord(str:String):Integer;
function php_pow(base, exp:Integer):Integer;
function php_htmlspecialchars(str:String;quote_style:Integer=0;charset:String=''):String;

신고

'프로젝트 > delphi2php' 카테고리의 다른 글

Delphi 2 PHP Function  (0) 2007.03.26
Posted by 화니.
TAG Delphi, php

댓글을 달아 주세요

이번 강의는 코드의 설명은 없습니다.
다만 제가 생각하는점과 그 동안 강의에서 사용한 코드를 정리합니다.

3편 코드 및 정리

1,2 편에서 클래스로 된 DB나 게시판을 보여드렸습니다.
아직 클래스에 대해 생소한분이나 귀찮게 생각하여 멀리하는분들이 많은듯합니다.
클래스는 많이 들었다시피 재사용성을 높이기 위해 만듭니다.
하지만 웹프로그램에서는 재사용성을 높이는 부분이 많이 떨어지는게 사실입니다.
각 페이지마다 고유의 방식으로 프로그램을 처리해야할일이 있고 공통된점을 찾기도 힘듭니다.
하지만 클래스를 만들어서 사용하다보면 꼭 재사용성만이 아니라 깔끔한 코드를 볼 수 있습니다.
함수의 중복으로 인한 오류도 줄일 수 있고 기능별로 파일을 구분하기도 쉬워집니다.
그리고 자주 클래스를 만들다보면 공통된 부분이 생기기 마련이고 점점 발전된 코드를 작성하는 자신을 볼 수 있게 될것입니다.

그 동안 강의에 사용된 파일들입니다.
hwani.zip

파일 다운로드


압축파일안에 pear.zip 파일은 Pear 파일입니다.
아마 같은 디렉토리에 압축을 풀면 DB.php 는 작동할것입니다. 하지만 정식으로 Pear를 설치하는것을 권합니다.
Pear 사이트 : http://pear.php.net
Pear 메뉴얼 : http://pear.php.net/manual/en/
최신버전의 PHP는 기본으로 Pear가 설치됩니다.

이것으로 저희 허접한 첫 강의를 마칩니다.
많은 분에게 도움이 되었으면 합니다^^
신고

'자료들 > PHP' 카테고리의 다른 글

화니의 PHP강의 - 3편 코드 및 정리  (4) 2006.02.19
화니의 PHP강의 - 2편 게시판  (2) 2006.02.18
화니의 PHP강의 - 1편 DB의 사용  (9) 2006.02.18
Posted by 화니.
TAG class, php, 강의

댓글을 달아 주세요

  1. 도로시 2006.05.10 15:31 신고  댓글주소  수정/삭제  댓글쓰기

    화니~!! 강의 좋았어~ ^^
    클래스에 도전해 보겠어~!!

  2. 쭈니 2007.06.29 18:14 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요?
    화니의 PHP강의 잘 보고 있습니다 ^^
    올려주신 pear 파일을 테스트 해보고자
    서버에 올려서 use_board.php 파일을 실행하였더니..
    Fatal error: Call to a member function qo() on a non-object in /home1/shield/public_html/pear/board.php on line 25
    에러가 나오더군요...
    pear는 설치가 되어 있어서 강의 1부에 있던 파일들은 잘 실행이 됩니다.
    잘 몰라서 그러는데.. qo()에 접근을 못하는거 같더라구요..맞나? ^^;

    mydb는 제 디비에 맞게 설정 했으며
    use_board 쿼리에는
    $totalsql="select count(*) from zipcode"; //사용자의 수를 세는 퀴리
    $listsql="select * from zipcode"; //사용자의 정보를 보여주는 퀴리
    이런식으로 제 디비 테이블에 맞게 바꿔봤습니다.
    원래는 use_board.php를 실행하면 머라두 나오는거 아닌가요?

    pear DB에 대해서 배워보고자 하는 궁금이 입니다 ^^;
    초보라서 잘 모르니... 이해해 주시고... pear에 대하서 한수 부탁드립니다. ^^

웹프로그램에 빠질 수 없는 부분이 게시판입니다.
이 강의는 게시판을 만드는것에 대한것이 아닙니다.
일반 글을 쓰는 게시판이라기보단 DB의 데이타를 게시판형식으로 출력하는 부분에 대한 강의입니다.
웹프로그램을 하다보면 회원목록, 게시물목록, 로그등 다양한 DB의 기록을 게시판형식으로 보여줘야할 경우가 많습니다.
매번 같은일을 하면서 코딩이 많다고 느끼신적은 없는지요?

2편 게시판

본 강의는 1편 DB를 이용합니다.
일단 게시판 클래스 소스입니다. 억지로 소스코드를 이해하려고 할 필요는 없습니다.

  1. <?php
  2. require_once "common.php";    //common function
  3. require_once "mydb.php";    //db class
  4. class board
  5. {
  6.    var $db;
  7.    var $FNAME;
  8.    var $LIST_SIZE, $SQL_LIST;
  9.    var $TOTAL;
  10.    var $pagelist;
  11.    var $start;
  12.    function board($db)
  13.    {
  14.        $this->db=$db;
  15.        $this->FNAME=$_SERVER[PHP_SELF];
  16.    }
  17.    function config($totalsql, $listsql, $listsize)
  18.    {
  19.        $this->TOTAL=$this->db->qo($totalsql)+0;
  20.        $this->SQL_LIST=$listsql;
  21.        $this->LIST_SIZE=$listsize;
  22.    }
  23.    function blist($page, $add='', $pageline=10)
  24.    {
  25.        if(!$page) $page=1;
  26.        $this->pagelist=paging($this->FNAME, $page, $this->TOTAL, $this->LIST_SIZE, $pageline, $add, $start, $end);
  27.        if($start) $start--;
  28.        $sql=$this->SQL_LIST. " limit $start, ". $this->LIST_SIZE;
  29.        $data=$this->db->q($sql);
  30.        $this->start= $this->TOTAL - $start ;     //게시물의 번호를 얻기위한 변수
  31.        return $data;
  32.    }
  33. }
  34. ?>
소스는 간단합니다. 페이징 처리는 common.php 에 따로 함수로 만들어서 사용하고 있습니다.
그럼 게시판 클래스가 어떻게 사용되는지 한번 보도록 하겠습니다.

  1. <?php
  2. require_once "board.php";
  3. require_once "mydb.php";
  4. $page=$_REQUEST[page];    //현재 페이지를 받는다
  5. $mydb=new mydb();    //db생성
  6. $board=new board($db);    //게시판 클래스 생성
  7. $totalsql="select count(*) from user ";    //사용자의 수를 세는 퀴리
  8. $listsql="select * from user ";    //사용자의 정보를 보여주는 퀴리
  9. $board->config($totalsql, $listsql, 30);    //설정에 퀴리를 넣고 30은 한페이지당 보여줄 겟수이다
  10. $add="&age=$age&date=$date";     //검색후 페이지 이동시 추가정보
  11. $data=$board->blist($page, $add);    //현재 페이지와 페이지 이동시 추가적인 정보를 전달한다
  12. $pagelist=$board->pagelist;     //페이지 넘기는부분 코드가 생성되어 변수로 나온다
  13. foreach($data as $key => $val)
  14. {
  15.    $no=$board->start - $key;    //현재 글의 번호를 만든다
  16.    echo "$no - $val[name] - $val[birth]";    //글번호 - 이름 - 생일 을 출력한다
  17. }
  18. echo $pagelist;    //페이지 넘기는 부분[이전] [1] [2] [3] [다음] 출력 common.php 안에 참고
  19. ?>
조금 사용법이 복잡해 보일진 몰라도 그도안 게시판형식으로 데이타를 보여주기위한 작업을 생각하신다면 많이 간결해진것을 느끼실 겁니다.
그리고 디자인적인 요소는 템플릿을 하나 배우셔서 사용하시길 권합니다.
저는 보통 Template_ (http://www.xtac.net/ ) 를 많이 사용합니다. 템플릿의 종류는 중요하지 않습니다. 자신이 편하다고 생각하시는 것을 사용하시는게 좋습니다.
템플릿을 사용하면 속도가 느려지지 않을까하는 고민을 하시는분도 있습니다.
하지만 편리함을 생각하신다면 0.001초의 속도는 중요하지 않습니다.
프로그램은 반복적인것을 컴퓨터에게 명령하기 위해 배우니깐요^^;
그 속도를 줄이는 시간에 차라리 하드웨어를 업그레이드하는것이 비용이 더 적게든다고 생각합니다.

이와 비슷한 예제로 DB가 아닌 배열을 게시판형식으로 사용하는 클래스를 소개합니다.

  1. <?php
  2. class boardarr
  3. {
  4.    var $FNAME;
  5.    var $data;
  6.    function boardarr()
  7.    {
  8.        $this->FNAME=$_SERVER[PHP_SELF];
  9.    }
  10.    function config($data, $listsize)
  11.    {
  12.        $this->data=$data;
  13.        $this->LIST_SIZE=$listsize;
  14.    }
  15.    function blist($page, $add='', $pageline=10)
  16.    {
  17.        if(!$page) $page=1;
  18.        $total=count($this->data);
  19.        $this->pagelist=paging($this->FNAME, $page, $total, $this->LIST_SIZE, $pageline, $add, $start, $end);
  20.        if($start) $start--;
  21.        $data=array_slice($this->data, $start, $this->LIST_SIZE);
  22.                
  23.        $this->start= $this->TOTAL - $start ;
  24.        return $data;
  25.    }
  26.    function csort($array, $column, $ops=0)    // 디폴트 내림차순
  27.    {
  28.        foreach($array as $key => $val)
  29.        {
  30.            if($val[$column] != false)
  31.            {
  32.                $array2[]=$val;
  33.            }
  34.        }
  35.        for($i=0; $i<count($array2); $i++){
  36.                $sortarr[]=$array2[$i][$column];
  37.        }
  38.        $op = array(SORT_DESC, SORT_ASC);     // 내림차순 : 오름차순
  39.        @array_multisort($sortarr, $op[$ops], $array2);
  40.        return($array2);
  41.    }
  42. }
  43. ?>
위의 DB를 사용한 클래스와 비슷합니다.
다만 배열의 데이타를 게시판형식으로 보여주는데 사용합니다.

  1. <?php
  2. require_once "boardarr.php";
  3. //예제 배열 데이타
  4. $data[0][no]=1;
  5. $data[1][no]=2;
  6. $data[2][no]=3;
  7. $data[3][no]=4;
  8. $data[0][title]="aaa";
  9. $data[1][title]="bbb";
  10. $data[2][title]="ccc";
  11. $data[3][title]="ddd";
  12. $page=$_REQUEST[page];    //현재 페이지를 받는다
  13. $board=new boardarr();    //클래스 생성
  14. $data=$board->csort($data, 'no');    //no 를 기준으로 배열을 정렬한다
  15. $board->config($data, 10);    //배열 데이타와 한페이지에 보여줄갯수를 설정한다
  16. $add="&age=$age&date=$date";     //검색후 페이지 이동시 추가정보
  17. $data=$board->blist($page, $add);    //현재 페이지와 페이지 이동시 추가적인 정보를 전달한다
  18. foreach($data as $key => $val)
  19. {
  20.    $no=$board->start - $key;    //현재 글의 번호를 만든다
  21.    echo "$no - $val[no] - $val[title]";    //글번호 - 번호 - 제목 을 출력한다
  22. }
  23. echo $pagelist;    //페이지 넘기는 부분[이전] [1] [2] [3] [다음] 출력 common.php 안에 참고
  24. ?>

사용법도 DB를 사용하는 게시판 클래스와 비슷합니다.
배열형식을 게시판형식으로 보여줄일은 많지 않지만 디렉토리의 파일목록을 보여주는일등에 사용할 수 있습니다.

이것으로 2편 게시판 강의를 마칩니다^^
신고

'자료들 > PHP' 카테고리의 다른 글

화니의 PHP강의 - 3편 코드 및 정리  (4) 2006.02.19
화니의 PHP강의 - 2편 게시판  (2) 2006.02.18
화니의 PHP강의 - 1편 DB의 사용  (9) 2006.02.18
Posted by 화니.

댓글을 달아 주세요

  1. C++/C 2006.02.23 13:31 신고  댓글주소  수정/삭제  댓글쓰기

    이거 C++/C 맞죠 ?

이 강의는 코딩에 지친 웹프로그래머들에게 바칩니다;;
저는 PHP를 접한지 5년이란 세월이 흘렀습니다.
어떡하면 효율적으로 코딩을 할까? 어떻하면 코딩을 간결하게 할 수 있을까? 하는 많은 고민을 했습니다.
그 동안 저의 노하우를 강의를 합니다.
이건 단지 저의 방식이고 더욱 편한 방법이나 자신과 스타일이 맞지 않으면 이 글을 안읽으셔도 됩니다.
다만 자신이 웹프로그래밍을 하면서 너무 반복적인일을 한다고 생각되면 한번쯤 읽어보시면 분명 도움이 되리라 생각합니다.

일단 글을 다 읽고 소스는 강의의 끝에 첨부합니다.
처음에는 부담없이 읽기만 해주세요^^

1편 DB의 사용
본 강의는 MySQL기준입니다.

웹프로그램에서 빠질 수 없는 DB의 사용입니다.
mysql_connect, mysql_fetch_array등의 함수를 아직도 이용하시나요? 그럼 본 강의를 본것은 행운입니다^^

저는 일단 Pear를 사용하여 DB를 사용합니다. 하지만 Pear도 복잡한 함수와 사용법을 배워야 합니다.
Pear에 대한 설명은 3편을 참고해주세요
그래서 저는 Pear를 한번더 감싸서 편리하게 사용하고 있습니다.(Adapter패턴)
일단 제가 사용하고 있는 DB 클래스입니다.
  1. <?php
  2. require_once 'DB.php'; //Pear
  3. require_once 'common.php';
  4. class mydb
  5. {
  6.    var $db;
  7.    var $debug=true;
  8.    function mydb($user='유져', $pass='암호', $name='데이타베이스')
  9.    {
  10.        $dsn = "mysql://$user:$pass@localhost/$name";
  11.        $this->db = DB::connect($dsn);
  12.        if(DB::isError($this->db)) die("DB Connect Error<br>죄송합니다. 잠시만 기다려주세요.");
  13.    }
  14.    function close()
  15.    {
  16.        if($this->db)
  17.        {
  18.            $this->db->disconnect();
  19.        }
  20.    }
  21.    //데이타 가져오기
  22.    function select($dbname, $arr='', $where='')
  23.    {
  24.        if($arr)
  25.        {
  26.            $sel=join(", ", $arr);
  27.        }
  28.        else
  29.        {
  30.            $sel=" * ";
  31.        }
  32.        $sql="select $sel from $dbname $where";
  33.        $data=$this->q($sql);
  34.        if($data && count($data) == 1)
  35.        {
  36.            return $data[0];
  37.        }
  38.        else
  39.        {
  40.            return $data;
  41.        }
  42.    }
  43.    //일반퀴리
  44.    function q($sql)
  45.    {
  46.        $data=$this->db->query($sql);
  47.        $this->error($data);
  48.        while ($row = $data->fetchRow(DB_FETCHMODE_ASSOC))
  49.        {
  50.            $var[] = $row;
  51.        }
  52.        return $var;
  53.    }
  54.    //퀴리 한줄만 얻기
  55.    function ql($sql)
  56.    {
  57.        $data=$this->q($sql);
  58.        if(!$data) return false;
  59.        $data2=$data[0];
  60.        return $data2;
  61.    }
  62.    //저장용 퀴리
  63.    function sq($sql)
  64.    {
  65.        $data=$this->db->query($sql);
  66.        $this->error($data);
  67.        return $data;
  68.    }
  69.    //한개의 값만 얻어오기
  70.    function qo($sql)
  71.    {
  72.        $data=$this->db->getOne($sql);
  73.        $this->error($data);
  74.        return $data;
  75.    }
  76.    //데이타 넣기
  77.    function in($dbname, $arr)
  78.    {
  79.        $num=$this->db->autoExecute($dbname, $arr, DB_AUTOQUERY_INSERT);
  80.        $this->error($num);
  81.        return $num;
  82.    }
  83.    //데이타 업데이트
  84.    function up($dbname, $arr, $where)
  85.    {
  86.        $num=$this->db->autoExecute($dbname, $arr, DB_AUTOQUERY_UPDATE, $where);
  87.        $this->error($num);
  88.        return $num;
  89.    }
  90.    //데이타 수정하기 up=up+1 이 되게
  91.    function up2($dbname, $arr, $where='')
  92.    {
  93.        foreach($arr as $key=>$val)
  94.        {
  95.            if( (!find_str($val, "+") && !find_str($val, "-") && !find_str($val, "*") ) && is_string($val) )
  96.            {
  97.                $val="'".$val."'";
  98.            }
  99.            $filed[]="$key = $val";
  100.        }
  101.        $view=join(",", $filed);
  102.        if($where) $where=" where " . $where;
  103.        $sql="update $dbname set $view $where";    //sql문 생성
  104.        $data=$this->sq($sql);
  105.        return $data;
  106.    }
  107.    //auto_increment 현재값
  108.    function seq($dbname, $field)
  109.    {
  110.        $sql="select max($field) from $dbname ";
  111.        $val=$this->qo($sql)+0;
  112.        return $val;
  113.    }
  114.    //최근 auto_increment 값
  115.    function auto()
  116.    {
  117.        $sql="select LAST_INSERT_ID()";
  118.        $val=$this->qo($sql);
  119.        return $val;
  120.    }
  121.    //에러 첵킹
  122.    function error($info)
  123.    {
  124.        if (DB::isError($info))
  125.        {
  126.            if($this->debug)
  127.            {
  128.                die($info->getDebugInfo());
  129.            }
  130.            else
  131.            {
  132.                die("DB 에러");
  133.            }
  134.        }
  135.    }
  136. }
  137. ?>
굳이 소스코드를 이해할려고 하실 필요는 없습니다.
DB의 사용이 이렇게 간결하게 될 수 있다는 것을 알려드릴려는것 뿐입니다.
많이 사용하는 방식의 DB처리를 예제로 보여드리겠습니다.

  1. <?php
  2. $db=new mydb();    //DB의 접속
  3. //다른 db에 접속하려면 $db=new mydb("aaaa", "bbbb", "cccc"); 방식으로 접속하면된다
  4. //사용자 정보의 갯수 가져오기
  5. $sql="select count(*) from user";    //퀴리문
  6. $data=$db->qo($sql);    //QueryOne 의 줄임표현입니다. 한개의 정보만 가져옵니다.
  7. echo $data;    //사용자 정보 갯수 출력
  8. // aaaa란 사용자의 정보 출력
  9. $sql="select * from user where id='aaaa' ";
  10. $data=$db->ql($sql);    //QueryLine 의 줄임표현입니다. 한라인의 정보만 가져옵니다.
  11. echo "이름 : $data[name] - 생일 : $data[birth] ";    //$data 에는 각 필드명으로 배열에 들어가 있습니다.
  12. //모든 사용자 정보 가져오기
  13. $sql="select * from user ";
  14. $data=$db->q($sql);    //보통 Query의 줄임표현입니다.
  15. foreach($data as $key => $val)    //루프를 돌립니다.
  16. {
  17.    echo "이름 : $val[name] - 생일 : $val[birth] ";    //$val 에는 한라인의 정보가 들어있습니다.
  18. }
  19. //사용자의 정보 넣기
  20. $in[name]="이름";    //정보의 배열은 $in[필드명]=값 의 형식이다.
  21. $in[birth]="1213";
  22. $in[id]="bbbb";
  23. $db->in("user", $in);    //Insert 의 줄임표현이다. 만든 배열을 넣는다
  24. //사용자 정보 수정
  25. $up[name]="이름2";    //정보의 배열은 $up[필드명]=값 의 형식이다.
  26. $up[birth]="1111";
  27. $db->up("user", $up, "id='bbbb' ");    //Update의 줄임표현이다.
  28. //+ - 되는 정보수정
  29. $up[age]="age + 1";
  30. $db->up2("user", $up, "id='bbbb' ");     //Update 에서 + - 가 필요한 형식의 경우를 위해 따로 함수를 만들었다
  31. /*
  32. 기존의 Insert문으로 보면 많이 간단해졌다는것을 알 수 있다.
  33. $sql = " insert into user set name = '이름',    birth = '1213',    id = 'bbbb' ";
  34. 필드명이 많아질수록 처리가 힘들것을 많이 격어봤을 것입니다.
  35. DB의 Insert와 Update를 배열로 넣는것은 보기편한것 외에 더 많은 장점이 있다.
  36. 배열로 사용하면서 많은 처리를 줄일 수 있다.
  37. */
  38. /*
  39. .........
  40. 여러가지 처리들(아이디 중복같은 검사들)
  41. ......
  42. $data[name]="이름";
  43. */
  44. if($no)    //회원번호가 있을경우
  45. {
  46.    $db->up("user", $data, "no=$no");
  47. }
  48. else    //회원번호가 없을경우
  49. {
  50.    $db->in("user", $data);
  51. }
  52. /*
  53. 이렇게 수많은 처리를 앞쪽에 두고 뒤에는 해당 데이타를 업데이트할 것인지 인설트할것인지를 정해서 처리하면 된다.
  54. */
  55. /*
  56. 이 방법을 보시면 더욱 놀랄것입니다.
  57. PHP는 $_POST에 배열로 전송하는 값들을 담고 있습니다. DB처리의 배열을 이것과 연결하면 수많은 단계를 줄일 수 있습니다.
  58. 아래와 같이 폼이 있다고 봅니다.
  59. <form target=post>
  60. <input type=text name=id>
  61. <input type=text name=name>
  62. <input type=text name=birth>
  63. <input type=submit value=save>
  64. </form>
  65. */
  66. $data=$_POST;    //POST로 넘어온값을 data에 저장한다
  67. unset($data[save]);    //POST 데이타중 필요없는 정보는 지운다
  68. $db->in("user", $data);    //배열을 DB에 넣는다.
  69. /*
  70. 보통 이것보다 더 많은 필드를 처리해야 했을것입니다.
  71. 물론 이 방법은 보안에 문제가 생길 수도 있습니다.
  72. 하지만 예외처리를 적당히 해주시면 수많은 DB코딩을 줄일 수 있게 됩니다.
  73. */
  74. $db->close();    //DB연결 종료
  75. ?>

이것으로 DB의 사용에 대한 강의를 마칩니다.
신고

'자료들 > PHP' 카테고리의 다른 글

화니의 PHP강의 - 3편 코드 및 정리  (4) 2006.02.19
화니의 PHP강의 - 2편 게시판  (2) 2006.02.18
화니의 PHP강의 - 1편 DB의 사용  (9) 2006.02.18
Posted by 화니.

댓글을 달아 주세요

  1. 느낌표 2006.02.20 10:11 신고  댓글주소  수정/삭제  댓글쓰기

    'DB.php' 클래스 파일은 어디서 구하나요 ?

  2. 자루스 2006.03.13 19:47 신고  댓글주소  수정/삭제  댓글쓰기

    "DB.php 는 Pear 파일로 Pear를 설치하시거나 3편을 참고해주세요 "

    3편을 참조하고 DB.php를 받아보니 잘 돌아갑니다.
    그런데 perl 화일로 pear를 설치해라는 잘 이해가 안갑니다. perl을 아시는 분만이 가능한 것일까요?

  3. BlogIcon php초보 2006.04.01 00:48 신고  댓글주소  수정/삭제  댓글쓰기

    Pear이 무엇인지 자세히 알고 싶습니다.

  4. 박성덕 2006.04.10 18:03 신고  댓글주소  수정/삭제  댓글쓰기

    DELETE 구문은 어케 처리를 하는지요..
    자세한 답변 부탁드립니다...

    mrparkx@hanmail.net

  5. Favicon of http://blog.babyz.co.kr BlogIcon 아이젠 2006.12.26 18:45 신고  댓글주소  수정/삭제  댓글쓰기

    화니님께서 남겨주신 위 PEAR를 이용해 프로그램중인데...
    비밀번호에 password 화 시켜서 입력을 할려면 어떻게 해야 하는지요?

    $in['pass'] = "password('$pass')";

    요런씩으로 하니 DB에 그냥 password('1234567890') 처럼 입력이 되어 버리네요;;;
    다른 방법으로 해야 한다면 어떻게 해야하는지 알려주시와요~

    그리고 새해 복 많이 받으세요(__)