You cannot see this page without javascript.

Skip Navigation

XE 레이아웃 카메론 XE LAYOUT CAMERON XE2.0.16


00:00

날씨

    • 맑음
    • 11.0°C
    • 40%
    • 0%
    • 맑음
    • 8.0°C
    • 50%
    • 0%
    • 맑음
    • 5.0°C
    • 60%
    • 0%
    • 맑음
    • 4.0°C
    • 70%
    • 0%
    • 맑음
    • 2.0°C
    • 75%
    • 0%
    • 맑음
    • 7.0°C
    • 50%
    • 0%
    • 맑음
    • 15.0°C
    • 35%
    • 0%
    • 맑음
    • 18.0°C
    • 30%
    • 0%
    • 맑음
    • 15.0°C
    • 45%
    • 0%
    • 흐림
    • 11.0°C
    • 55%
    • 30%
    • 구름 많음
    • 9.0°C
    • 60%
    • 20%
    • 구름 많음
    • 17.0°C
    • 50%
    • 20%
    • 맑음
    • 10.0°C
    • 60%
    • 0%
발표시간: ,
날씨 정보 저작권자 © 기상청
모듈
2020.08.13 14:41

폼(form)과 DB

profile
(*.168.0.1) Views 122 Votes 0 Comment 0
Extra Form
원문주소
페이지 00022
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

Form & DB

XE 모듈을 이해하기 위한 기초 과정으로 폼(form)의 동작 방식을 살펴보자. 모듈은 결론적으로 폼과 DB의 관계이다. 모듈은 자신이 관리하는 테이블을 한두개 이상 가지고 있고 이것을 다루기 위해 폼을 사용한다. 이때 모듈에서의 폼의 처리 과정은 모델 뷰 컨트롤러 (Model-View-Controller) 개발 패턴에 기반한다. 다시말해 폼의 기본적인 동작 방식을 이해하면 MVC 패턴으로 확장된 XE 모듈을 더욱 쉽게 이해할 수 있다. 다음의 내용은 폼 엘리먼트를 이해하기 위한 중요한 키워드이다.

  • 폼은 입력 데이터를 받고 이것을 하나로 묶어 브라우저를 이용한 URL 형식으로 서버에 전송한다.
  • 필요한 경우 POST 방식으로 내용을 숨겨 보낼 수도 있고 GET 방식으로 URL 뒤에 붙여 보낼 수도 있다.
  • 서버는 컨트롤러(Application Controller)를 로드하여 데이터를 처리하고 그 결과를 다시 브라우저를 통해 보내준다.
  • 데이터의 입력 폼 또는 목록의 출력은 HTML로 작성하고 컨트롤러는 PHP로 작성한다.
  • 데이터의 유효성 검사는 자바스크립트 함수의 도움을 받을 수 있다.

※ 폼을 이해하는 다음 과정에서 DB에 테이블(Table)을 만들고, 데이터 입력 필드를 추가하는 것, PHP 파일에서 DB와의 연결 및 입력/수정/삭제 쿼리, 폼(form)의 입력 컨트롤 타입의 종류와 사용법 등은 다루지 않는다. 자세한 사용법은 별도의 공부를 통해 꼭 확인해 두자. 아래 내용은 폼의 기본적인 처리 과정과 흐름을 이해할 수 있도록 작성하였다.

폼(form) 엘리먼트

폼은 HTML의 태그(Tag)이면서 특별한 역할을 담당하고 있는 엘리먼트이다. 폼은 사용자(User)에게서 정보를 입력 받을 수 있는 입력필드(input)를 가진 웹페이지의 일부분이고, 입력 받은 자료는 하나로 묶어서 서버로 전송한다. 서버는 폼이 보내준 데이터를 처리하고 그 결과를 다시 웹브라우저에게 보낸다.

어떻게 이것이 가능할까?(How it is possible?)

1. action

폼의 기본 형식은 다음과 같다.

<form action=" " method=" ">
   ...
</form>

폼 엘리먼트에는 2개의 속성을 기본으로 가지고 있는데 action 속성과 method 속성이다. 이것들만 가지고는 아무일도 할 수 없다. 따라서 정보를 입력 받을 수 있는 입력필드를 1개 만들어 보자.(폼의 기타 속성, 폼 안에 들어가는 input 엘리먼트의 입력 컨트롤(type)의 종류와 사용법은 생략한다.)

<form action=" " method=" ">
   <p>학교 : <input type="text" name="school" /></p>
</form>

한 줄짜리 간단한 형식의 글 입력 상자를 만들고 앞으로 입력 받는 내용은 [school]이라는 name 속성을 갖게 된다. 이것은 마치 "변수=값"처럼 한쌍을 이룬다. 하지만 이것을 지금 당장 변수와 값으로 부르지는 않는다. 왜냐하면 입력 받은 데이터는 아직 아무것도 실행된 내용이 없고 변수의 값으로 대입된 상태도 아니다. 그저 데이터 조각을 가리키는 임시 이름일 뿐이다. 따라서 name 속성이라고 하는 것이다.

다음으로 입력된 내용을 서버로 보낼 수 있는 전송(submit) 버튼을 만든다.

<form action="파일의 경로/blank_controller.php" method="get">
   <p>학교 : <input type="text" name="school" /></p>
   <p><input type="submit" value="전송" /></p>
</form>

입력(input) 형식(type)을 전송(submit)이라고 폼에 이야기하면 폼은 버튼을 하나 만들어 준다. 그리고 그 버튼을 클릭하면 입력된 데이터 조각을 웹브라우저를 이용해 서버로 보낸다. 이때 "어디로 보낼 것인가?"를 알려주는 속성이 action이다. action는 곧 URL 주소이다. 즉 누구에게, 이 데이터를 받아서 처리하도록 일을 시킬 것인가 하는 것을 알려주는 주소를 적는 란이다. 주소 끝에는 반드시 데이터를 받아 처리하는 처리기, 즉 컨트롤러(controller)가 있어야 한다. 전송되는 데이터는 한 줄짜리 URL 주소 속에 모두 포함된다. URL은 웹 사이트의 주소형식일 뿐만 아니라 네트워크상의 자원을 서로 주고 받을 수 있기 때문이다.

아래 입력란에 "test"라는 문자열을 입력하고 전송버튼을 클릭해 보자. 그리고 브라우저의 URL을 살펴보자.

URL 주소의 맨 끝에 /blank_controller.php?school=test 을 찾아 볼 수 있을 것이다. blank_controller.php 파일이 데이터를 처리하는 컨트롤러인 것이다. 폼은 데이터를 보낼 때 ? 로 구분하면서 입력항목의 이름이었던 school에 test 라는 문자열이 있다는 것을 blank_controller.php 파일에게 알려 준다. 컨트롤러는 이것을 받아 DB에 넣을 것인지 또는 다른 방법으로 가공하여 통조림(?)을 만들고 결과물을 다시 돌려 보낼지를 결정하게 된다. 물론 컨트롤러 파일에서의 처리 방법은 원하는 결과를 얻기 위해 미리 만들어 넣어 두어야 한다...^^ 이것을 간단히 어플리케이션 컨트롤러(Application Controller)라고 말한다.

입력 항목이 여러개라면 폼은 데이터를 어떻게 한 줄로 묶어서 보낼까? 위 폼 입력란에 문자열을 입력하고 브라우저 URL을 확인해 보자. 각각의 입력 데이터와 그것을 가리키는 이름은 무엇인가? 만약 입력 내용이 없는 항목은 어떻게 연결되는지 확인해 보자...^^

폼이 각각의 데이터 조각들을 URL을 이용해 어떻게 보내는지 알 수 있었다. 변수 사이를 매개하는 변수를 파라미터(parameter)라고 표현한다. 이것은 같은 의미로 보내는 입장에서 파라미터(parameter)라고도 말하지만, 호출 받는 입장에서는 인자(argument)라고도 표현한다. 폼은 입력받은 내용을 브라우저를 통해 파라미터로 전달한다. 서버는 이것을 처리하기 위해 받는 입장으로 인자(argument)라고 표현하는 것이다. 그러면 어떤 방법으로 파라미터를 보낼 것인지 확인해 보자.

2. method

전송 방법(method)은 "GET"과 "POST" 2가지 뿐이다. 위 예제에서 전송 방법(method)은 GET이었다. GET은 "얻는다"는 의미이다. "POST"는 쉽게 말해 "우편, 우체통"을 뜻하지만 웹세상에서는 일반적으로 "보낸다"(posting)는 것을 의미한다. 프로그램에서 GET과 POST는 내포된 의미를 그대로 살려 자주 사용되는 한쌍의 언어이다. 예를 들어 서버 또는 DB에서 어떤 자료를 얻기 위해서는 GET, 반대로 보내는 것이 목적이라면 POST라는 단어와 연관된 명령어를 만들고 사용하기도 한다. 하지만 폼(fom)에서 만큼은 조금 다른 방법으로 사용된다. 아마도 POST와 GET을 따로 떼어놓기가 싫었던 모양이다...^^

폼에서 POST와 GET은 모두 브라우저의 URL을 이용해 데이터를 묶어서 보내는 역할을 한다. 이때 POST는 등기 우편물처럼 "숨겨서" 보낸다...^^ 즉 URL의 주소에서 처리를 부탁했던 컨트롤러 파일의 이름 외에는 데이터의 내용을 알 수 없도록 서버에 요청(request)한다는 뜻이다. 아래 예제를 통해 확인해 보자.

데이터의 처리를 부탁했던 blank_controller.php 파일의 이름 외에는 내용을 알 수가 없을 것이다. 지금은 실행문이 없는 빈(blank) 컨트롤러이기 때문에 그나마 파일 이름이라도 볼 수 있다. 실제로 일을 하게 되면 컨트롤러 파일의 이름조차 알 수 없게 된다. 반대로 GET은 URL 주소의 끝에 모두 표현되어 있다. 이것은 마치 "엽서"를 보내는 것(send a postcard to...)과 같은 형식이라고 말할 수 있다...^^

연애편지를 다른 사람이 볼 수도 있는 엽서에 적어서 보냈던 사람은 극히 드물 것이다. 마찬가지로 은행의 통장 비밀번호를 GET 방식으로 보낼 바보 또한 없을 것이다. 이렇게 데이터의 조각을 서버로 보낼 때 내용에 따라 어떤 방법으로 전송할 것인지를 미리 알려주는 속성이 method 이다. 다만 GET 방식은 256 문자까지만 가능하다. 따라서 내용물이 많은 큰 텍스트(<textarea>) 또는 첨부파일과 같은 엘리먼트를 사용할 경우에는 데이터 양의 제한이 없는 POST 방식으로 보내야 한다.

3. 컨트롤러(Application Controller)

서버가 받은 데이터는 폼이 지명했던 컨트롤러(PHP 파일)가 처리한다. 아래 예제는 컨트롤러가 어떻게 데이터를 받아 처리(DB 입력)하고, 그 결과 또한 어떻게 보여 줄 것(DB 출력)인지에 대해 좀더 구체적으로 만들어 둔 예제이다. 컨트롤러는 데이터를 어떻게 처리할까? 아래의 폼에 내용을 입력하고 전송해 보자. (아래 예제는 로그인 후에 테스트가 가능하다.)

book.html : 입력 폼을 보여준다.

book_list.html : DB에 저장된 내용을 보여준다.

DB에 미리 만들어 둔 book 테이블의 구조

컨트롤러 파일(book_controller.php)의 내용은 다음과 같다.

book_controller.php

book_controller.php 컨트롤러가 최종적으로 성공 메시지를 보여 주려면 반드시 DB에 데이터를 입력할 수 있는 해당 테이블(Table)과 각각 1:1로 매핑(mapping)된 컬럼(column) 즉 입력필드가 존재해야 한다. DB의 BOOK 테이블에 데이터를 입력(insert into book)하려면, 폼이 보내준 방식에 따라 데이터의 값을 시스템 연관배열변수 $_POST["..."] 또는 $_GET["..."]으로 찾고 만약 이름과 값이 있다면, 설정된 DB를 연결하고 폼이 보낸 데이터 묶음을 풀어서 DB의 해당하는 필드에 각각 입력하는 것이다. 오류가 없고 입력이 모두 완료 되었다면 그 결과값으로 성공 메시지를 보여준 후 이동할 웹페이지를 찾아 보여 주도록 하였다.(여기서는 다시 현재 페이지로 돌아오도록 하고 DB에 저장된 내용을 목록으로 만들어서 확인할 수 있도록 하였다.)

일반적으로 [DB설정] 부분은 컨트롤러와 같은 파일에 작성하지 않는다. 여러개의 폼과 컨트롤러를 이용할 경우를 대비하여 별도의 db_config.php 파일로 분리하고 외부파일을 포함(include)시키는 방법으로 활용하게 된다. 만약 컨트롤러가 다른 서버에서도 동일한 작동을 하려면 DB설정 파일(db_config.php)만 수정하면 되는 것이다.

DB에 저장된 내용을 가져와서 그 결과를 목록으로 보여주는 book_list.html를 살펴보자.

book_list.html

$result는 DB의 book 테이블에서 가져온 결과값이다. 그런데 book_list.html은 폼(form)이 아니다. 그러면 어떻게 DB에서 데이터를 가져왔을까?

DB 내용 가져오기 // book_list.html결과를 목록으로 보여주는 영역

일반적으로 폼은 데이터 입력을 위한 별도의 컨트롤러 파일을 이용하지만 데이터의 내용을 보기 위해서는 같은 문서 안에서 컨트롤러와 비슷한 DB연결 구문을 활용하여 테이블 선택 쿼리(select * from book)로 결과값을 얻는다. 처리후 페이지 이동을 위한 실행문만 없을 뿐이다. 테이블에서 가져온 결과물은 보여주고자 하는 목적에 따라 적절히 가공하여 일정한 영역에서 표현하는 것이다.

4. 폼 검증(Validation)

폼 데이터를 서버로 전송하기 전에 올바른 문자열이 입력 되었는지 확인해 보아야 한다. 예를 들어서 채우지 못한 입력란은 없는지, 또는 책의 구입가격을 숫자가 아닌 문자열로 입력하였다면 사용자에게 올바른 입력 방법을 안내하고 폼의 내용이 DB에 잘못 입력되는 것을 즉각 중지하여야 한다. 이렇게 폼에 입력될 문자열의 패턴을 정의하고 데이터의 내용이 의도한대로 올바른 문자열을 가지고 있는지 서버에 보내기 전단계에서 검사하고 확인하는 것을 폼의 검증, 또는 유효성 검사, 그리고 문자열의 규칙을 만드는 것을 정규식이라고 말한다.

폼 데이터를 검증하는 방법은 자바스크립트(또는 jQuery)의 도움이 필요하다. 폼 엘리먼트 바깥에 스크립트를 이용한 함수를 만들어 두고 전송(submit) 버튼을 클릭하였을 때 곧바로 서버로 전송하는 것이 아니라 함수를 불러 폼의 데이터 내용이 유효한지 조사하고 그 결과값을 되돌려(return) 받는다. 문제가 없다면 서버로 전송하게 된다.

스크립트를 이용한 폼의 검증 방법은 무척 다양하다. 따라서 예제에 활용된 검증을 위한 함수가 어떤 것이었는지만 확인해 보고 위 예제에서 이것이 얼마나 유용하게 사용되고 있는지 확인해 보도록 하자.

유효성 검사 스크립트form
book.htmlname="form"type="hidden"
  • 폼이 전송하는 데이터의 파라미터 중에서 name 은 입력(input) 필드의 형식을 type="hidden"으로 설정한 데이터의 값으로 로그인 정보의 닉네임을 담아 보낸다. 따라서 URL에 붙어가는 파라미터의 갯수는 모두 5개이다.
  • 전송(submit) 버튼을 클릭하면 onsubmit 이벤트가 발생(submit 버튼을 클릭했군! )하고 전송하기 전에 check() 함수를 호출한 후 결과값을 되돌려(return) 받을 준비를 한다.
  • check() 함수로 호출된 스크립트 안에서 입력필드의 내용을 검사한다.
  • 폼 입력필드 각각의 데이터에 접근하기 위해서 유일성을 갖는 id 속성을 이용하고 값을 확인한다.
  • 3개의 텍스트 입력 필드의 값이 모두 있으면 price 의 값을 확인하는 단계로 이동하고, 없으면 안내글을 보여주고 결과는 반환하지 않는다.
  • price 의 값이 숫자가 맞는 경우 결과를 폼에 반환하고, 내용이 없거나 숫자가 아니면 안내글을 보여주고 결과는 반환하지 않는다.
  • 결과값을 되돌려 받은 폼은 최종적으로 서버에 데이터를 전송한다.

💖 부운영자님 에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가 자동으로 복사 됩니다

* User ID : leesungmin
* User Name : 이성민
* Email : imadonis@naver.com
* Homepage : https://4880.net
* Birthday : 1972-07-24
* Member Group : 관리그룹, 유료회원, 문제출제
* Signup Date : 2012-07-19
* Following : 랩퍼투혼 whom the member is following.
* Following Count : 1people
* Followed by : 탑돌이, 랩퍼투혼 ... now follwing this member.
* Followed Count : 2people

< 빌립보서 4장 13절>
내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라   
내가 궁핍하므로 말하는 것이 아니니라 어떠한 형편에든지 나는 자족하기를 배웠노니    
나는 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일 곧 배부름과 배고픔과 풍부와 궁핍에도 처할 줄 아는 일체의 비결을 배웠노라
내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 

* Document Count : 17407
* Comment Count : 88
* Document Count : 36
* Document Count : 126
* Comment Count : 134
* Document Count : 3
* Comment Count : 3
* Document Count : 1
* Comment Count : -1
카카오링크

제로XE/라이믹스/그누/워드프레스

회원만 쓰기 가능합니다.

List of Articles
No. Category Subject 페이지 Author Date Views
Notice Tip&Tech xe 동작순서 부운영자 2015.08.24 1017
Notice Tip&Tech XE의 애드온 및 모듈의 기능 요약표 부운영자 2015.01.16 1272
Notice Tip&Tech XEReferences 부운영자 2014.11.29 945
Notice Tip&Tech XE 스킨 제작 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1288
Notice Tip&Tech XE 개발자 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1814
Notice Tip&Tech xe 레퍼런스 모음 file 부운영자 2014.10.10 2542
230 모듈 입력 컨트롤러(Controller) Module Admin Controller for Insert/Update 모듈 입력/수정과 컨트롤러(Controller) 예제로 만들고 있는 example 모듈에서 새로운 모듈(mid)을 추가하고 수정할 수 있는 액션과 그에 따른 진행 과정을 그린 설계도이다. 모듈(module)을 추가 한다는 것은 example 모듈과 같이 기능적인 모듈을 추가한다는 것이 아니라, 앞으... 00026 부운영자 2020.08.13 67
229 모듈 모듈 확장과 모델(Model) 모듈 확장과 모델(Model) 관리자를 위한 백 엔드 뷰(View)가 실행되면 관리자-인덱스로 설정했던 dispExampleAdminList 액션이 작동하고 그 진행과정을 설명한 그림이다. 또한 앞으로 만들게 될 관리자 목록 보기를 위한 설계도이다. 이 과정에서는 어드민 모델(example.admin.model.php)을 이용할 계획이다. 실제로 게시판(... 00025 부운영자 2020.08.13 35
228 모듈 프론트엔드와 백엔드 뷰(View) Front and back ends 프론트 엔드(front-end)와 백 엔드(back-end)는, 사용자가 접근하는 영역을 말하는데 이때 사용자는 사람이 아닌 프로그램이 될 수도 있다. 예를 들어 컴퓨터 OS의 그래픽 파일 관리자는 컴퓨터의 파일 시스템에 대한 프론트 엔드이고 사용자와 직접 상호작용을 할 수 있다. 백 엔드 응용프로그램은 보... 00024 부운영자 2020.08.13 361
227 모듈 MVC 구조의 이해 Model-View-Controller XE Core는 모델-뷰-컨트롤러(Model-View-Controller) 개발 패턴에 기반한다. 이것을 줄여서 MVC 구조라고 말한다. 소프트웨어 공학에서 프로그램의 설계는 건축(architecture)과 같다. 시스템의 운영 구조를 목적과 명세에 따라 유기적 관계로 설계하고 업그레이드를 통제하는 지침과 원칙, 이것을 아... 00023 부운영자 2020.08.13 67
» 모듈 폼(form)과 DB Form &amp; DB XE 모듈을 이해하기 위한 기초 과정으로 폼(form)의 동작 방식을 살펴보자. 모듈은 결론적으로 폼과 DB의 관계이다. 모듈은 자신이 관리하는 테이블을 한두개 이상 가지고 있고 이것을 다루기 위해 폼을 사용한다. 이때 모듈에서의 폼의 처리 과정은 모델 뷰 컨트롤러 (Model-View-Controller) 개발 패턴에 기반한... 00022 부운영자 2020.08.13 122
225 모듈 XE의 URL 규칙 URLs on XE XE에서 생성한 URL 은 깔끔하고 검색엔진에서 색인되기 좋은 구조이다. XE는 일반적인 쿼리스트링 기반의 URL이 아니라 세그먼트 기반의 URL을 사용한다. 쿼리스트링(Query string) URL이란, 다음과 같이 쿼리 문자열을 포함하는 전형적인 URL 형식이다. &lt;http://www.xeschool.com/xe/index.php?mid=freeboard&amp;do... 00021 부운영자 2020.08.13 90
224 모듈 모듈의 기본 이해 The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모듈 만들기 . XE의 URL 규칙 폼(form)과 DB MVC 구조의 이해 프론트엔드와 백엔드 뷰(View) 모듈 확장과 모... 0002 부운영자 2020.08.13 25
223 모듈 XE 모듈 The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모듈 만들기 모듈의 기본 이해 BOOK 모듈 만들기 룰셋과 북마크 모듈 만들기 0001 부운영자 2020.08.13 18
222 XE코어 반복문 loop XE Template Syntax 반복문 loop 주어진 조건에 따라 필요한 내용을 반복해서 출력해야 할 때 반복문(루프/loop)을 사용한다. 1. 반복문의 이해 반복문은 컴퓨터가 만들어지면서 가장 먼저 시도된 증조 할아버지뻘 되는 구문이고 문법이다. 1+1 은 쉽다. 하지만 1에서 10까지 더하라고 하면 약간 머리가 복잡해진다. 사람들... 00105 부운영자 2020.08.13 46
221 XE코어 조건문 IF XE Template Syntax 주어진 조건에 따라 필요한 내용을 문맥에 알맞게 출력하거나 배제할 때 조건문을 사용한다. 1. IF 문 IF 조건문은 PHP의 IF 조건문과 동일하고 &quot;if, elseif, else, end&quot;와 &quot;조건식&quot;으로 이루어져 있다. if 문이 시작되면 반드시 end 문으로 닫아서 조건문이 끝났음을 선언해야 하고 조건식의 내용은 PHP... 00104 부운영자 2020.08.13 34
220 XE코어 파일 포함 include XE Template Syntax XE 템플릿 스킨의 HTML 문서 안으로 외부 파일을 불러와 포함시키기 위한 문법이다. 파일 포함 문법에서는 불러 들이고자 하는 외부 파일의 경로 설정을 상대 경로로 표시한다. 즉 HTML 문서의 자신을 기준으로 상대적인 위치의 경로를 이용한다. HTML 문서가 있는 같은 폴더 안의 default.css 파일을 포... 00103 부운영자 2020.08.13 62
219 XE코어 기본 문법 default XE Template Syntax 1. 변수 PHP에서 변수를 다루는 것과 동일한 방법으로 XE 템플릿 안에서 변수를 정의하고 출력할 수 있다. 변수를 나타내는 문자열 앞에는 달러($) 기호를 붙여 사용하며 변수명은 대소문자를 구별한다. 변수는 프로그램에서 미리 선언한 내용 또는 템플릿 안에서 사용자의 필요에 따라 새로운 변수를 정... 00102 부운영자 2020.08.13 72
218 XE코어 XE 템플릿 문법의 이해 XE Template Syntax 템플릿(template)이란 붕어빵을 만드는 틀로 비유된다. 같은 모양, 같은 크기의 객체(object)를 만들기 쉽다. 프로그래밍 언어에서 템플릿 구문은 초등학교 시절의 플라스틱 모형자를 생각하면 이해가 쉽다. 제각각 다른 모양, 다른 크기로 그려지는 삼각형도 모형자 하나만 있으면 모두들 똑같은 삼각형... 00101 부운영자 2020.08.13 56
217 XE코어 logged_info $logged_info XE에 접근하면 XE는 항상 방문자의 로그인 여부를 우선 먼저 확인하게 된다. 이때 사용하는 변수가 $is_logged 와 $logged_info 이다. Context.class.php 파일 137라인을 참고해 보면 member 모듈의 member.controller.php 파일의 메서드(해야 할 일)를 참고하여 방문자가 로그인했는지, 로그인했다면 세션과 ... 00092 부운영자 2020.08.13 119
216 XE코어 getUrl() getUrl() XE 레이아웃에 많이 쓰이는 getUrl() 함수이다. &quot;getUrl()은 현재 요청된 RequestURI에 주어진 인자의 값으로 변형하여 url을 리턴한다.&quot;고 설명되어 있다. 또한 인자는 (key, value)... 의 형식으로 주어져야 하고 (예... getUrl(&#039;key1&#039;,&#039;val1&#039;, &#039;key2&#039;, &#039;&#039;) : key1, key2를 val1과 &#039;&#039; 로 변형) 아무런 인자가 없... 00091 부운영자 2020.08.13 139
215 XE코어 Context.class.php 요청 인자(request arguments), 환경 변수(environment variables)와 같은 모든 컨텍스트(Context)를 관리 Context::methodname()로 호출할 수도 있고 정적 객체로도 호출할 수 있는 사용하기 쉬운 이중 방식 구조를 가지고 있다. Context는 GET/POST의 값을 수신하고 변수와 다양한 정보를 템플릿에 전달한다. 또한, 요청이... 00082 부운영자 2020.08.13 88
214 XE코어 Object.class.php XE 모듈 사이의 객체 인스턴스를 전달하는 기본 클래스(데이터를 주고 받기 위한 클래스) 모든 모듈은 객체(Object)를 상속한다. 객체(Object)의 error, message, variables 를 이용하여 통신을 하게 된다 Object 함수 목록 : 속성 var $error = 0; ///&lt; 에러 코드 (0이면 에러 아님) var $message = &#039;success&#039;; ///&lt; 에러 ... 00081 부운영자 2020.08.13 69
213 XE코어 함수라이브러리 func.inc.php clone($object) iconv($in_charset, $out_charset, $str) &amp;getModule($module_name, $type = &#039;view&#039;, $kind = &#039;&#039;) &amp;getController($module_name) &amp;getAdminController($module_name) &amp;getView($module_name) &amp;getMobile($module_name) &amp;getAdminView($module_name) &amp;getModel($module_name) &amp;getAdminModel($module_name) &amp;g... 00072 부운영자 2020.08.13 164
212 XE코어 환경설정 config.inc.php XE의 버전 및 개발자용 디버깅 설정이 저장된 파일 XE가 기본적으로 사용하는 함수라이브러리 func.inc.php 파일과 클래스(class)파일을 시작페이지 index.php 파일로 가져간다 define(&#039;ZBXE_VERSION&#039;, &#039;1.4.5.7&#039;); XE코어의 버전은 이곳에서 정의된다. require(XE_PATH.&#039;config/func.inc.php&#039;); XE코어에서 사용하기 위한 ... 00071 부운영자 2020.08.13 66
211 XE코어 XML 쿼리 언어 XML 쿼리 언어 XML Query Language SMaker님의 글을 전문인용하여 재구성하였다. - http://xe.xpressengine.net/wiki/18180631 개요 쿼리 사용방법 XML sample Select query 예제 Join Select 예제 Letf Join Select 예제 Insert 예제 update 예제 delete 예제 Select Click Count 예제 개요 XpressEngine는 SQL 쿼리를 그대... 0011 부운영자 2020.08.12 53
List
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14