Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 팁&트릭
Delphi Programming Tip&Tricks
[39] [팁] 웹페이지에 POST 로 값넘기기
쎈뜨.조용호 [saint12] 19439 읽음    2002-10-25 19:11
클라이언트를 델파이로 만들고 서버 부분을 ASP나PHP 로 만들면..

쉽게..데이터베이스에 접근할수 있습니다.

웹페이지에 자동 로그인 한다던지 암튼... 웹페이지에 POST 로 전송하는 방법을

알아 보도록 하죠..

이번에도 인디 컴포넌트 idHTTP 컴포넌트를 이용할것입니다..

idHTTP 컴포넌트는 POST 란 프로시져를 이용하여 넘겨 보겠습니다

POST 프로시져의 사용법은

idHTTP.POST('넘길 URL','넘길값','결과값');

넘길 URL 은 값을 받을 ASP 파일이나.. PHP 파일 을 지정하면 되겠죠..

예) 'http://www.내페이지.com/login.asp';

그리고 넘길값을 만드는것이 중요한데..

우선 Data 변수를 TStringStream 형으로 선언합니다.

Data : TStringSTream;

Data 변수에 값을 집어 넣는 버은 아래와 같은 식으로

Data.WriteString(URLEncode('data=' + Trim(Edit1.Text) + '&'));
Data.WriteString(URLEncode('data1=' + Trim(Edit2.Text)));

웹프로그래밍에 약간 지식이 있으신분은

왜.. 'data=' + Trim(Edit1.Text) + '&' 이런식으로 코딩하셧는지

아실껍니다..

웹페이지에서 값을 받으면 "$data" 에..Edit1.text 값이 들어 가 있는것이죠..(흠냐 PHP 네...)

"&" 로 이어만 준다면 얼마든지 값을 넘길수 있습니다.

어느 정도 이해가 가셧나요..너무 설명을 못한거 같은데...

죄송....그리고 결과값은 TMemoryStream 형으로 받습니다.

그럼 전체 소스를 한번 볼까요.. 뭐 별거없습니다만은..

전체 소스

var
  Data : TStreingStream;
  Out : TMemoryStream;
begin
  Data := TStringStream.create("");
  Our := TMemorySTream.create;
  //컨텐츠 타임 지정 컨텐츠 타입을 지정해 주셔야 제대로 넘어 감니다..
  idHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; 
  Data.WriteString(URLEncode('data=' + Trim(Edit1.Text) + '&')); 
  Data.WriteString(URLEncode('data1=' + Trim(Edit2.Text))); 
  idHTTP.POST('URL',DATA,OUT);
  ShowMessage(PCHar(OUR.DataString); // 결과값 표시
end;


URLEncode 를 사용하시려면 uses 에 idGlobal 유닛을 포함시켜야 합니다.
밥팅민수 [gr8mins]   2002-12-28 01:11 X
그냥 단순 POST라면 TStringList를 써도 됩니다. SL.ADD(a=val); SL.ADD(b=val); 그런담에 Post('A.PHP', SL); 훨씬 편하고 간단하죠?
밥팅민수 [gr8mins]   2002-12-28 01:12 X
앗 오타다... SL.ADD('a=val'); 처럼 ''로 묶어줘야겠죠? ^^;

+ -

관련 글 리스트
39 [팁] 웹페이지에 POST 로 값넘기기 쎈뜨.조용호 19439 2002/10/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.