PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제5장 PHP와 자바스크립트의 활용

    1. 왜 자바스크립트인가?

PHP는 사용자가 게시판에 자신의 의견을 남기거나 여러 질문에 대한 설문 조사에 답변하는 방법을 통해 전달한 입력 값을 내부적으로 처리하여 그 결과를 여러 가지 형태로 가공하여 출력한다. 그리고 이러한 방식을 통해 사용자에게 일방적인 정보만을 전달하는 웹사이트가 아닌, 보다 다이내믹하고 사용자의 참여를 유도할 수 있는 인터렉티브한 효과가 가미된 웹사이트를 개발, 구축할 수 있도록 도와준다.

 

이와 같이 사용자로부터 다양한 형태의 반응을 얻어내려면 값을 직접 입력하는 방식이든 아니면 여러 항목 중에서 선택을 하는 방식이든 간에 사용자의 반응을 끌어내기 위한 인터렉티브한 인터페이스의 구현이 필요하다. 예를 들면, 텍스트 입력박스에 직접 글을 입력하거나 여러 항목 중에서 하나 또는 복수개의 항목을 선택하거나 파일을 전송하거나 사용자가 입력한 값을 PHP가 처리할 수 있도록 전송하는 등의 역할을 할 수 있는 인터페이스가 필요한데 HTML에서는 사용자 입력 양식, 즉 '폼(Form)'이라고 하는 것이 바로 이러한 역할을 수행한다.

 

HTML에서 지원하는 폼의 형태로는 여러 가지가 존재한다. 한 줄의 문자열을 입력받을 수 있는 텍스트 입력 박스와  여러 줄에 걸쳐 문자열을 입력받을 수 있는 텍스트 영역 입력박스, 여러 항목 중 한 가지만을 선택할 수 있는 라디오 버튼, 여러 항목을 함께 선택할 수 있는 체크박스, 여러 가지 목록 중에서 하나 또는 여러 개의 항목을 선택할 수 있는 리스트박스, 암호 입력을 위한 password 입력박스, 특정 함수를 실행시킬 수 있는 버튼, 사용자가 입력한 값을 전송하거나 취소할 수 있는 submit 버튼과 reset 버튼, 파일을 전송할 수 있는 파일 전송 버튼 등이 HTML에서 지원하는 사용자 입력 양식이다.

 

그러면 이러한 입력 양식과 자바스크립트가 어떠한 관계가 있을까? 입력 양식에 사용자가 입력한 값은 PHP나 Perl, C, ASP와 같은 서버상의 CGI 프로그램에 전송되어 처리되어지고 그 실행 결과는 다시 서버를 거쳐 사용자의 브라우저에 전달됨으로써 사용자가 볼 수 있는 양식으로 출력이 된다. 이와 같이 CGI 프로그램의 실행 및 그 결과의 출력은 반드시 서버를 거쳐서 이루어지게 되므로 필연적으로 해당 서버에 부하를 주게 된다.

 

예를 들어, 입력해야 할 항목 중 일부를 사용자가 입력하지 않고 전송하여 CGI 프로그램을 실행시킨다면 프로그램이 실행되면서 입력되지 않은 항목을 발견하고 다시 사용자로부터 입력 값을 받기 위해 이전 페이지를 재 호출하는 경우가 발생할 수 있다. 이는 결과적으로 불필요하게 여러 번에 걸쳐 CGI프로그램을 호출하여 실행하게 되므로 서버의 퍼포먼스를 그만큼 떨어뜨리게 되는 결과를 낳는다. 그러므로 프로그래머의 입장에서는 가능한 한 사용자의 입력에 의한 에러를 서버를 거치지 않고 클라이언트 쪽, 즉 사용자의 브라우저에서 미리 감지할 수 있는 방향으로 프로그램을 짜는 것이 좋은데 이럴 때 사용할 수 있는 언어가 바로 자바스크립트가 되는 것이다.

 

자바스크립트는 PHP처럼 서버를 거쳐서 실행이 되어야 그 결과를 알 수 있는 서버쪽 언어(server-side script language)가 아니라 서버를 거치지 않고도 사용자의 브라우저 내에서 바로 호출 및 실행이 가능한 클라이언트쪽 언어(client-side script language)이므로 응답이 매우 빠르며 서버에는 전혀 부담을 주지 않게 된다. 이러한 자바스크립트를 이용하면 사용자가 텍스트 입력박스에 입력한 값이나 리스트박스 등에서 선택한 값을 알아낼 수 있으므로 이들 값을 CGI프로그램에 전송하기 전에 허용되지 않는 문자나 값을 입력한 경우, 또는 반드시 입력을 해야 하는 항목에 입력하지 않고 넘어간 경우를 체크하여 사용자에게 재입력을 요구할 수 있다. 따라서 CGI 프로그램 언어로서의 PHP가 갖는 단점을 보완하는 측면에서 자바스크립트는 상당한 가치와 의미를 갖는다.

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.