[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: 내장함수
소분류: 부가 기능 함수
htmlquery() 작성일: 1999/10/22
수정일: 2002/07/05

1. 형식 형식1) result= htmlquery(query_str) 형식2) result= htmlquery(query_str, debug_file) 형식3) result= htmlquery(query_str, debug_file, upload_dir) 형식4) result= htmlquery(query_str, debug_file, upload_dir, overwrite_flag) 2. 기능: HTML query 형식의 문자열인 query_str을 해석하여 변수에 값을 대입한다. 대입되는 변수의 값은 모두 문자열로 처리된다. ( setlocal(ON) 이면 전역 변수, setlocal(OFF) 이면 지역 변수에 대입됨 ) 3. 설명 (1) 함수에 전달하는 모든 인자는 문자열이며 수치이면 문자열로 변환된다. (2) query_str의 값이 소대문자 구분 없이 "GET", "POST"이면 HTML문서의 form tag에서 전달되는 query를 해석한다. 이때 "GET"과 "POST"는 form tag의 method와 같아야하며 웹 서버를 운영하고 있을때에만 처리될 수 있다. (3) query_str의 값이 소대문자 구분 없이 "COOKIE"이면 클라이언트에서 전달 되는 쿠키(cookie)를 해석한다. query_str이 "GET", "POST", "COOKIE"가 아니면 "변수1=값1&변수2=값2&...&변수N=값N" 형식의 문자열이어야 하며 이는 각각의 변수에 값이 대입되도록 해석한다. (4) query_str이 HTML query 형식으로 인코딩되어 있어도 해석한다. (5) debug_file은 query 해석 결과에 대한 분석 파일의 이름으로 경로명을 포함할 수 있으며, debug_file의 파일에는 분석된 query 변수와 총 개수를 저장하고 debug_file에 ".org"를 결합한 파일에는 전달된 query의 원본이 저장된다. query의 전달에 이상이 있을 때 debugging 목적으로만 사용하는 것이 좋으며 작성한 프로그램을 정상 가동할 때에는 제거하는 것이 좋다. (6) debug_file의 값이 널 스트링(Null string; 문자열의 길이가 0임, "")이면 debug 파일을 생성하지 않는다. (7) upload_dir은 query_str이 "POST"일 때 (물론 HTML의 form tag의 method가 "POST"이어야 함) upload하는 파일이 있다면 그것을 저장할 경로명이다. upload_dir이 생략된 상태에서 파일을 upload하면 "/tmp"에 저장된다. (8) 형식4)에서 인자 overwrite_flag은 파일 업 로드시 동일파일이 이미 존재 할 경우에 겹쳐쓸것인지를 결정하는 것이며 생략하면 겹쳐쓰게 된다. overwrite_flag= 1 -> 업로드 파일 중복시 겹쳐씀(초기값) overwrite_flag= 0 -> 업로드 파일 중복시 (수치-파일명) 형식으로 저장함 (즉, 파일의 순번과 '-' 그리고 파일명 형식) (9) 해석된 변수의 개수를 정수로 result에 되돌린다. ※ htmlquery("POST", "test.dbg") : HTML form tag의 method가 "POST"이며 query를 debugging하기위해 "test.dbg"와 "test.dbg.org"를 생성한다. ※ htmlquery("GET", "t.dbg") : HTML form tag의 method가 "GET"이며 query를 debugging하기위해 "t.dbg", "t.dbg.org" 생성 ※ htmlquery("POST","","/work"); HTML form tag의 method가 "POST"이며 파일을 upload할 때 "/work"에 저장하도록 한다. 4. 사용예 result= htmlquery("name=홍길동&kor=100&eng=100&mat=90"); printf(" 이름= %s, 국어= %s, 영어= %s, 수학= %s\n", name, kor, eng, mat); print(" result= ", result); ------------------------------ [ 출력결과 ] ------------------------------ 이름= 홍길동, 국어= 100, 영어= 100, 수학= 90 result= 4

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]