웹페이지간 정보전송
이 장의 핵심
HTTP는 왜 계속 확산되는가?
GET 매개변수
GET 스타일을 사용하는 또 다른 URL
양식 변수 처리
PHP 슈퍼 배열
이 장은 간단합니다. 웹페이지 간 데이터 전달에 관한 내용입니다. 이러한 정보는 PHP에만 있는 것이 아니라 PHH/HTML 또는 HTTP 프로토콜 자체의 중요한 부분입니다.
HTTP는 무상태입니다
웹 서비스에 대해 기억해야 할 가장 중요한 점 중 하나는 HTTP 프로토콜 자체가 무상태라는 것입니다. 당신이 시적인 영혼을 가지고 있다면, 각각의 HTTP 요청이 집 없이, 완전히 알려지지 않은 것처럼 혼자라고 말할 수 있습니다. 당신은 그 내용을 알고 있습니다. 덜 시적인 의미로 말하자면 이는 각 HTTP 요청(각 요청 및 페이지 전송)이 다른 모든 콘텐츠와 독립적이고 클라이언트의 신원을 알지 못하며 메모리도 없다는 것을 의미합니다. 각 요청은 독립적인 프로세스를 생성하고, 사소하지만 중요한 작업인 파일 서비스를 완료한 다음 자동으로 사라집니다. 이는 매우 잔인하게 들리며 아마도 "처리 가능한 상태로 돌아가는 것"이라고 말할 수 있습니다.
웹사이트가 매우 느슨한 단방향 탐색(1페이지가 2페이지로 연결되고, 2페이지가 3페이지로 연결되는 등)으로 설계되었더라도 PTTP 지원은 누군가가 2페이지를 탐색하고 있는지 전혀 알거나 신경 쓰지 않습니다. 1페이지부터. 따라서 페이지 1의 변수를 HTML 자체를 통해 페이지로 가져올 수는 없습니다. HTML을 사용하여 양식을 표시하고 해당 양식을 사용하여 일부 정보를 입력할 수 있지만 다른 방법을 사용하여 정보를 다른 페이지나 다른 프로그램으로 전송하지 않는 한 다른 페이지로 이동하면 변수가 사라집니다.
이것이 PHP와 같은 양식 처리 기술을 수입하는 이유입니다. PHP는 한 페이지에서 다른 페이지로 전달된 변수를 검색하여 추가로 사용할 수 있습니다. PHP 기능은 이러한 유형의 데이터 전송 기능에 매우 뛰어나므로 다양한 웹 사이트 작업을 더 빠르고 쉽게 완료할 수 있습니다.
HTML 양식은 웹사이트에서 하나의 웹페이지에서 일부 데이터를 전달하는 가장 유용한 방법입니다. 쿠키 및 세션과 같이 여러 웹페이지에서 상태를 유지하는 더 많은 지속적인 방법이 있습니다. 이에 대해서는 다음에서 설명하겠습니다. 1장 27장에서는 이러한 기능을 소개합니다. 이 장에서는 웹 페이지 간에 정보를 전송하는 보다 기본적인 기술, 즉 HTTP와 GET 및 POST 메서드를 사용하여 웹 페이지를 동적으로 생성하고 데이터를 처리하는 기술에 중점을 둘 것입니다.
ASP 프로그래머가 이것을 보면 "PHP가 형편없어!"라고 말할 수도 있습니다. 왜냐하면 ASP에서 사용한 세션 변수가 매우 마법적이기 때문입니다. 이것은 누군가의 거품을 터뜨리려는 것이 아니지만 Microsoft는 쿠키를 사용하여 세션 변수를 저장할 계획이지만 이로 인해 모든 잠재적인 문제가 발생할 수 있습니다.
GET 매개변수
GET 메서드는 매개변수를 URI [Uniform Resource Indicator, 일관된 리소스 표시기, 일부 사람들은 URI(Uniform Resource Indicator, 일관된 리소스 위치 지정자) 사용에 더 익숙함] 쿼리 문자열로 처리합니다. 한 페이지에서 다른 페이지로 전달되는 페이지의 일부입니다. 양식 처리에 사용되는 경우 GET은 물음표(?)를 구분 기호로 사용하여 ACTION 속성에 지정된 URL에 변수 이름과 값을 추가하고 모든 콘텐츠를 처리를 제공하는 기술(이 경우 웹 서버)에 제출합니다.
다음은 GET 메소드를 사용하는 HTML 양식의 예입니다(team_select.html에 파일 저장).
< HTML >
<
< TITLE > 1부< /TITLE >
< /HEAD >
<
< ; 🎜> < SELECT NAME = “Team” SIZE=2 >
사용자가 항목을 선택하고 제출 버튼을 클릭하면 브라우저는 사이에 공백 없이 이러한 요소를 다음 순서로 결합합니다. 🎜>
ACTION이라는 단어 뒤에 따옴표로 묶인 URL(http://localhost/baseball.php)
물음표(?)는 다음 문자가 GET 문자열을 형성함을 나타냅니다.
NAME 변수, 등호 및 일치하는 VALUE(Team = Cubbies)
"&" 기호 및 "NAME = VALUE"(제출 = 제출)의 다음 쌍; 문자열 길이 제한 사항이 허용되면 &로 구분된 이러한 이름-값 조합은 여러 번 반복될 수 있습니다.
이렇게 하면 다음과 같은 URL 문자열이 형성됩니다.
(http://locahost/baseball .php ? Team = Cubbies&Submit = Select)
여기서 문자열이 새로워집니다. 요청은 브라우저의 주소 공간으로 전송됩니다. 위의 양식이 제출된 후 양식을 처리하는 PHP 스크립트(baseball.php)는 요청 문자열의 끝에서 GET 변수를 얻고 이러한 변수에 대해 해당 작업을 수행합니다. 다음 예에서는 두 값 중 하나 리터럴 문자열에 삽입됩니다.
다음 프로그램 코드는 원본 HTML 양식을 처리하기 위해 PHP에서 사용하는 양식 처리 부분입니다.
< HEAD >