⊗ppPmFmOFH 299 of 447 menu

하나의 PHP 파일에서의 양식 처리

이전 강의에서 우리의 양식은 한 페이지에 있었고, 다른 페이지로 전송되었습니다. 사실 이것은 필수적이지 않습니다. 만약 action 속성을 비워두거나 완전히 제거하면, 양식은 이 동일한 페이지로 전송됩니다.

작동 방식: 처음 페이지를 방문할 때 우리는 양식에 데이터를 입력하고 버튼을 누릅니다. 그 후 페이지가 새로 고침되고 그 코드는 다시 실행되지만 이번에는 양식 데이터와 함께 실행됩니다.

예를 들어 살펴보겠습니다. 우리에게 하나의 파일에 양식과 그 처리가 있다고 가정해 보겠습니다:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

처음 페이지를 방문할 때 함수 var_dump 는 빈 배열을 출력할 것입니다. 반면 양식을 제출한 후에는 양식 데이터를 출력할 것입니다. 즉, 첫 번째 방문 시 $_GET 은 비어 있고, 두 번째 방문 시 - 양식 데이터를 포함하게 됩니다.

이로 인해 문제가 발생할 수 있습니다. 예를 들어, 양식에 숫자를 입력하고 그 숫자들의 합계를 화면에 출력하려 한다고 가정해 봅시다:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

이 경우, 처음 페이지를 방문했을 때 우리는 $_GET 배열이 비어 있는데 그 요소들에 접근하려고 해서 발생하는 PHP 오류를 보게 될 것입니다.

여기서 말씀드리자면, 브라우저에서 오류가 나타나지 않을 수도 있습니다. 이 경우 PHP 오류 출력이 활성화되어 있는지 확인하고, 또한 처음 페이지를 방문하는 중이며 주소 표시줄에 양식 데이터가 없는지 확인하십시오.

문제를 해결해 봅시다. 이를 위해 양식이 전송되었는지 확인하는 조건을 추가하겠습니다.

예를 들어, $_GET 이 비어 있지 않은지 확인할 수 있습니다. 만약 $_GET 이 비어 있지 않다면 - 양식이 전송된 것이므로 합산을 수행할 수 있습니다. 그렇지 않으면 아직 페이지에 처음 방문한 것이므로 합산이 수행되지 않습니다. 자, 수정된 코드입니다:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

사용자에게 성, 이름, 중간 이름(있는 경우)을 물어보세요. 양식 제출 후 입력된 데이터를 화면에 출력하십시오.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부