PHP 와 HTML 은 많은 상호 작용:PHP 는 HTML 을 생성 할 수 있으며 HTML 은 PHP 에 정보를 전달할 수 있습니다. 이러한 자주 묻는 질문을 읽기 전에 외부 소스에서 변수를 검색하는 방법을 배우는 것이 중요합니다. 이 주제에 대한 매뉴얼 페이지뿐만 아니라 많은 예제가 포함되어 있습니다.

양식/URL 을 통해 값을 전달할 때 어떤 인코딩/디코딩이 필요합니까?

인코딩이 중요한 여러 단계가 있습니다., 이 있다고 가정하면 문자열$데이터를 포함하는 문자열을 전달하고 싶에서 인코딩되지 않은 방법으로,이들이 관련 단계:

  • HTML 해석됩니다. 임의의 문자열을 지정하려면 큰 따옴표에 포함시켜야하며 전체 값을 htmlspecialchars()해야합니다.

  • URL:URL 은 여러 부분으로 구성됩니다. 데이터를 하나의 항목으로 해석하려면 urlencode()로 인코딩해야 합니다.,

예#1 숨겨진 HTML 형태 요소

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

참고:그것은 잘못된 것입하 urlencode()$데이터이기 때문에,그것은 브라우저 책임을 urlencode()데이터. 모든 인기있는 브라우저가 올바르게 수행합니다. 이것은 메소드(즉,GET 또는 POST)에 관계없이 발생합니다. POST 요청은 일반적으로 숨겨져 있기 때문에 GET 요청의 경우에만이 사실을 알 수 있습니다.,

참고:이 데이터는 다음과 같은 브라우저에서 의도한 대로이기 때문에,브라우저 해석합니다 HTML 탈출 기호입니다. 제출시,GET 또는 POST 를 통해,데이터는 전송을 위해 브라우저에 의해 urlencoded 되고 PHP 에 의해 직접 urldecoded 됩니다. 따라서 결국 urlencoding/urldecoding 을 직접 수행 할 필요가 없으며 모든 것이 자동으로 처리됩니다.,

Example#3URL

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

참고:당신은 가짜 HTML GET 요청,따라서 그것은 필요가있을 수동으로 urlencode() 데이터입니다.

참고:당신이 필요하 htmlspecialchars()전체 URL,기 때문에 URL 을 발생하는 값으로 HTML 특성이 있습니다. 이 경우 브라우저는 먼저 htmlspecialchars()값을 해제 한 다음 URL 을 전달합니다. PHP 는 데이터를 urlencode()d 하기 때문에 URL 을 올바르게 이해할 것입니다., URL 의&&amp;로 대체된다는 것을 알 수 있습니다. 이것을 잊어 버리면 대부분의 브라우저가 복구되지만 항상 가능한 것은 아닙니다. 따라서 URL 이 동적이지 않더라도 URL 을 htmlspecialchars()해야합니다.

<입력 유형=”image”>태그를 사용하려고하지만$foo.x 와$foo.y 변수를 사용할 수 없습니다. $_GET 도 존재하지 않습니다. 그들은 어디에 있습니까?,

를 제출할 때,그것이 가능한 이미지를 사용하는 대신 표준 제출 버튼과 같은 태그:

<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />

클릭할 때에 어딘가에 이미지,첨부 형태로 전송됩니다으로 서버에 추가로 두 개의 변수:foo.x 와 foo.y.

푸 때문에.x 와 foo.y 것들에게 잘못된 변수 이름에서 PHP,그들은 자동적으로 변환하 foo_x 및 foo_y. 즉,기간은 밑줄로 대체., 따라서 외부 소스에서 변수를 검색하는 섹션 내에서 설명한 다른 변수처럼 이러한 변수에 액세스 할 수 있습니다. 예를 들어$_GET 입니다.

참고:

공간에서 요청 변수 이름은 밑줄로 변환됩니다.

을 어떻게 배열을 만들에 HTML<양식>?,

귀하의<양식>결과 전송으로 배열하여 당신의 PHP 스크립트를 당신의 이름을<입력>, <select>또는<텍스트 영역>요소는 다음과 같다:

<input name="MyArray" /><input name="MyArray" /><input name="MyArray" /><input name="MyArray" />

알 대괄호로 변수 이름 뒤에 는 무엇이 그것을 배열입니다., 그룹화할 수 있습의 요소로 다른 배열을 할당하여 같은 이름을 가지 요소:

<input name="MyArray" /><input name="MyArray" /><input name="MyOtherArray" /><input name="MyOtherArray" />

이것은 두 가지 배열을 보유하고 MyOtherArray 는 전송 PHP 스크립트입니다. 그것은 또한 가능하면 특정 키를 당신의 배열

<input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" />

AnotherArray 배열을 포함 키 0,1,이메일,전화입니다.

참고:

배열 키 지정은 HTML 에서 선택 사항입니다., 키를 지정하지 않으면 요소가 양식에 나타나는 순서대로 배열이 채워집니다. 첫 번째 예제에는 키 0,1,2 및 3 이 포함됩니다.

외부 소스의 배열 함수 및 변수도 참조하십시오.

선택 여러 HTML 태그에서 모든 결과를 얻으려면 어떻게해야합니까?

HTML 구조의 여러 태그 선택을 통해 사용자는 목록에서 여러 항목을 선택할 수 있습니다. 그런 다음 이러한 항목은 양식의 작업 처리기로 전달됩니다. 문제는 모두 동일한 위젯 이름으로 전달된다는 것입니다. 즉.,

<select name="var" multiple="yes">

각 선택한 옵션에 도착합니다 action 핸들러:

var=option1var=option2var=option3 

각 옵션의 내용을 덮어쓰 이전$var 변수입니다. 해결책은 PHP 의”array from form element”기능을 사용하는 것입니다. 이것은 PHP 가$var 를 배열로 취급하도록 지시하고 var 에 대한 값의 각 할당은 배열에 항목을 추가합니다. 첫 번째 항목은$var,다음$var 등이됩니다., Count()함수를 사용할 수 있는 방법을 확인하는 많은 옵션이 선택되었고,()함수를 사용할 수 있을 정렬하는 옵션을 배열하는 경우 필요합니다.

JavaScript 를 사용하는 경우 요소 이름에가 요소를 이름으로 참조하려고 할 때 문제가 발생할 수 있습니다. 그것을 사용하의 숫자 형태 요소의 ID 를 대신하거나로 묶는 변수 이름에 따옴표를 사용으로 인덱스의 요소를 배열,예를 들어,

variable = document.forms.elements']; 

나는 어떻게 전달 변수에서 자바스크립트를 PHP?,

Javascript 는(일반적으로)클라이언트 측 기술이고 PHP 는(일반적으로)서버 측 기술이므로 HTTP 는”상태 비 저장”프로토콜이므로 두 언어는 변수를 직접 공유 할 수 없습니다. 그러나 둘 사이에 변수를 전달할 수 있습니다. 조건을 만족하는 방법은 이를 생성하는 Javascript 코드 PHP 고 있는 브라우저는 새로 고침을 자체,전달하는 특정한 변수를 다시 PHP 스크립트입니다. 아래의 예는 정확하게 수행하는 방법이다-그것 할 수 있습 PHP 의 코드를 캡처하면 너비 및 높이에 뭔가 일반적으로만 가능한 클라이언트 측에서.,

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다