메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

PHP 폼 자동 완성하기

한빛미디어

|

2006-03-30

|

by HANBIT

17,087

제공: 한빛미디어 네트워크 기사
저자: Gavin Andresen, 한동훈 역
원문: http://www.onlamp.com/pub/a/php/2006/03/16/autofill-forms.html

나는 타이핑하는 것은 싫어하지만 코드를 작성하는 것은 좋아한다. 한동안 PHP에서 폼을 다루기 위해 필요한 기계적인 코드들을 타이핑했던 적이 있었는데, 그 이후로 "보다 좋은 방법"을 찾아나서기 시작했다. 이 글에서는 내가 PHP 정규식을 사용해서 폼을 처리하는 데 필요한 많은 작업들을 어떻게 제거했으며, 내가 싫어하는 타이핑을 줄이고, 코드를 작성하거나 넷핵(NetHack)을 즐기는 데 시간을 할애하게 되었는지 설명할 것이다.

문제

제프 콕스웰(Jeff Cogswell)은 PHP와 CSS를 사용한 사용자 친화적인 폼 검증에서 일반적인 문제를 기술했다. 즉, 폼을 화면에 표시하고, 입력을 검증하고, 감사 페이지를 보여주거나, 검증이 실패하면 사용자가 입력한 값과 폼에 에러가 난 부분들을 표시해서 다시 보여주는 등의 일반적인 문제를 기술했다. 나는 깔끔하고 세련돼 보이는 웹 사이트를 위해 많은 돈을 지불하는 고객들을 위해 폼을 작성하기 때문에, 폼은 항상 멋있어야 하고, 사이트의 나머지 부분들과도 잘 조화되어야 한다.

지루한 입력에 대한 해결책

문제를 해결하는 가장 쉬운 방법은 위지윅 HTML 에디터를 사용해서 멋있는 폼을 만들고, 적절한 위치에 폼 값과 에러 메시지를 표시하기 위한 PHP 코드를 추가하는 것이다. 예를 들어, 폼에 "email,"이라는 필드 이름을 갖고 있다면, 나는 이 필드를 검증하기 위해 다음과 같은 PHP 코드를 사용한다.
$validationData          = array();
$validationData["email"] =
  array("isRequired", type="emailAddress");

$formErrors = validateForm($_POST, $validationData)
나쁘지 않아 보인다. validateForm() 함수를 한번 작성하기만 하면 계속에서 이것을 사용할 수 있고, 다른 값을 처리할 필요가 있을 때 마다 그에 해당하는 처리를 확장하면 된다.

에러와 올바른 값을 폼에 표시하는 것은 다소 지저분하다. 조금 간단한 HTML은 다음과 같다.
Email:

이제, HTML과 PHP로 섞인 미로가 시작된다.
 >
Email:
 />
폼에 있는 모든 필드에 대해서 이를 반복하는 것은 번거롭다. 특히, 50개나 되는 주를 선택하는 "살고 있는 주를 선택하세요" 같은 드롭다운 목록에 사용된
TAG :
댓글 입력
자료실