2009-12-24 4 views
0

아무도이 프로그램에서 무슨 일이 일어나는지 말해 줄 수 있습니까? 내 주된 의문은 첫 번째 조건에 관한 것입니다. REQUEST_METHOD에 대한 메소드를 어디에서 얻을 것인가? 프로그램은 첫 번째 if 루프에서 gng를 의미하므로 REQUEST_METHOD == GET하지만 어디에서 설정해야합니까?PHP 프로그램 도움말

<html> 
<head><title>Temperature Conversion</title></head> 
<body> 
<?php 
if ($_SERVER['REQUEST_METHOD'] == 'GET') 
{ 
?> 
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST"> 
Fahrenheit temperature: 
<input type="text" name="fahrenheit" /> <br /> 
<input type="submit" name="Convert to Celsius!" /> 
</form> 
<?php 
} 
elseif ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    $fahr = $_POST['fahrenheit']; 
    $celsius = ($fahr - 32) * 5/9; 
    printf("%.2fF is %.2fC", $fahr, $celsius); 
} 
else 
{ 
    die("This script only works with GET and POST requests."); 
} 
?> 
</body> 
</html> 

다시 한번 난 그냥 말 감사

답변

0

그것은 표시 및 처리 후 요청에 대해 동일한 PHP 파일을 활용 이상한 방법입니다.

  1. 개발자는 페이지의 첫 번째 패스 는
  2. 는 그런 사람이 다시 값이 같은 PHP 파일 의 형태와 게시물을 채우는 페이지에 대해 "GET"요청 될 것입니다 가정 처리 및 온도는 같은 "헤드"요청으로 사람이 페이지 호출 다른 유형을 만드는 경우도 잡는 화면
  3. 에 인쇄된다.
+0

정말 이상하지 않고 오래된 것입니다. 그것은 php3과 정말로 초기 4에서 이것을하는 것은 정말로 일반적인 스타일이었습니다. 그러나 그래, 이제 그것은 정말로 이상합니다. –

+0

그 버전에서 일할 때 나는 이와 같은 페이지를 오버로딩하는 대신 액션을 처리하기 위해 별도의 PHP 파일을 사용했습니다. – Myles

+0

어쩌면 그것은 나만의 것이었을 것입니다. 그때 나는 위대한 프로그래머였던 척하지 않을 것이다 :) –

1

GNG? (편집 : 질문 인용구에서 : 나는 프로그램이 1 일에 gng을 의미합니다.)

URL로 페이지를 입력하면 REQUEST_METHOD가 실행됩니다.

양식을 제출할 때 메서드 메서드 method = POST를 제출하면 제출할 때 REQUEST_METHOD가 POST가됩니다.

+0

우리는 기본적으로 그 값을 설정하는 것이 무엇인가? 나는 REQUEST_METHOD ==를 얻는다. – Josh

+0

@joetsuihk : GNG ?! @Nishant : 아니, 항상 * 얻는다. –

+0

아니요, 서버에 의해 설정됩니다. – Brad

0

원래 요청에 의해 설정됩니다. 서버는 PHP 내부에서 요청 및 서버 데이터에 액세스 할 수 있도록이 정보 (예 : $ _SERVER)를 채 웁니다. 요청이 HTTP GET으로 수신되면 값은 GET입니다. POST, 값이 POST 인 경우

0

요청 방법은 브라우저에서 페이지를 "요청"하는 방법을 나타냅니다.

URL로 이동하여 페이지에 액세스하는 경우 GET 메서드가 사용됩니다. 따라서 목록에있는 페이지가 브라우저에서 방금 검색된 경우 REQUEST_METHOD == GET 페이지에 양식이 표시됩니다.

POST 요청 방법은 일반적으로 양식 제출을 통해 페이지에 액세스 할 때 사용됩니다. 따라서 사용자가 페이지의 양식을 채우고 제출하면 POST 요청 방법을 통해 동일한 페이지로 돌아갑니다. 그런 다음 페이지는 양식 제출을 기반으로 한 약간의 정보를 표시합니다.

요청 방법에 대한 자세한 정보는 위키 백과에서 Request Methods을 클릭하십시오. 서버 변수에 대한 자세한 정보는 PHP docs on $SERVER을 참조하십시오.

0

이 프로그램은 HTTP 요청을 처리합니다. $ _SERVER 배열은 자동으로 값으로 설정됩니다.

누군가가 브라우저에서 페이지를 방금 방문하면 $ _SERVER [ 'REQUEST_METHOD']은 'GET'과 같습니다.

양식을 제출 한 후 페이지로 이동하면 'POST'와 같습니다.

0

GET 및 POST는 http 동사가 페이지에 액세스하는 데 사용됩니다. 일반적으로 POST를 사용하여 사용자 데이터를 서버로 다시 보내고 GET을 사용하여 서버에서 데이터를 가져옵니다. 그래서 색인을 구하십시오.html은 GET 요청이지만 주석 형식과 같은 데이터를 서버에 다시 보내고 POST를 사용합니다.

PHP에서 하나의 파일 만 사용하여 양식 처리를 수행하는 방법 중 하나입니다. 사람이 처음 양식에 액세스하면 GET을 사용하게됩니다. 그러나 사용자가 데이터를 제출하고 제출 버튼을 클릭하면 POST에서 사용자 데이터를 다시 전송합니다. 따라서 첫 번째 if 조건 == 'GET'.

는 GET과 POST

0

확인에 대한 자세한 내용은 this link을보십시오.

$_SERVER, $_POST, $_GET$_로 시작하는 대부분의 다른 변수는 '미리 정의 된 변수'또는 '슈퍼 전역을'라고 : 만 본 적이 있기 때문에 그래서, 한 사람이 나와서 그 말, 내가해야 할 것 같아요 . 이것들은 서버에 의해 설정되고 어떤 상황에서도 액세스 할 수있는 변수입니다. 그들은 서버 런타임, 요청 등을 기반으로 정보를 저장합니다.

$_SERVER['REQUEST_METHOD']은 사용자가 귀하의 페이지에 가지고있는 방법을 정의합니다. HEAD, GET, POST, DELETE과 같은 묶음이 있으며, 저는 더 많이 믿습니다. 이들 각각은 인터넷 HTTP 표준에 따라 특정 목적을 가지고 있습니다. GET은 단순히 페이지를 가져 오는 데 사용되므로 가장 자주 사용되는 요청 메소드입니다. 양식을 제출하지 않았다면, 사용하는 방법은 이것이 가능한가요?

페이지에서 사용자가 페이지를 정기적으로 탐색하고 있는지 확인한 다음 페이지가 양식을 제공하는지 확인합니다. 양식의 제출 단추를 누르면 다음 페이지의 요청 메소드가 POST로 변경됩니다. 즉, 서 v에 일종의 정보 (이 경우 양식 필드에있는 데이터)를 제공하고 있음을 의미합니다.

누군가가 양식을 보내는 중임을 감지하면 사용자가 양식을 통해 보낸 것을 기반으로 계산을합니다.

일반적으로 대부분의 사람들은 양식이 전송되었는지 알기 위해 $_POST에 포함 된 데이터가 있는지 만 확인하지만이 방법도 잘 작동합니다.