PHP - $_GET: 초보자 가이드

서론

안녕하세요, 미래의 PHP 개발자 여러분! 오늘 우리는 PHP에서 가장 흔히 사용되는 슈퍼로컬 변수 중 하나인 $_GET에 대해 배울 것입니다. 이전에 들어본 적이 없다면 걱정하지 마세요 - 이 튜토리얼이 끝나면 마치 프로처럼 사용할 수 있을 것입니다!

PHP - $_GET

$_GET는 무엇인가요?

$_GET는 URL을 통해 전달된 데이터를 수집할 수 있게 해주는 특별한 PHP 변수입니다. 마치 하나의 마법의 봉투처럼, 하나의 웹페이지에서 다른 웹페이지로 정보를 전달합니다. 친구에게 우편카드를 보내는 것을 생각해보세요 - 그 우편카드의 주소가 PHP에서 $_GET의 작동 방식과 유사합니다.

$_GET의 주요 기능

기능 설명
유형 슈퍼로컬 변수
목적 URL에서 데이터 수집
접근성 모든 스코프에서 사용 가능
데이터 형식 연관 배열
보안 URL에 데이터가 노출됨

$_GET의 작동 방식

http://example.com/page.php?name=John&age=25와 같은 URL을 보았을 때, 물음표(?) 뒤에 있는 모든 것은 $_GET가 접근할 수 있는 데이터입니다. 이를 간단히 설명해보겠습니다:

  • name=John은 하나의 데이터 항목입니다
  • &는 다른 데이터 항목을 구분합니다
  • age=25은 또 다른 데이터 항목입니다

PHP에서는 $_GET['name']$_GET['age']를 사용하여 이 데이터에 접근할 수 있습니다.

첫 번째 $_GET 예제

간단한 예제로 시작해보겠습니다. 다음 코드를 포함한 greeting.php 파일을 생성하세요:

<!DOCTYPE html>
<html>
<body>
<h1>환영합니다, <?php echo $_GET['name']; ?>!</h1>
</body>
</html>

이제 greeting.php?name=Sarah와 같은 URL로 이 파일에 접근하면, 페이지에 "환영합니다, Sarah!"라는 문구가 표시됩니다.

설명

이 예제에서는 $_GET['name']을 사용하여 URL에서 'name' 값을检索합니다. PHP는 자동으로 URL을 파싱하고 데이터를 우리에게 사용할 수 있게 합니다.

여러 매개변수 처리

$_GET는 여러 매개변수를 쉽게 처리할 수 있습니다. 예제를 확장해보겠습니다:

<!DOCTYPE html>
<html>
<body>
<h1>환영합니다, <?php echo $_GET['name']; ?>!</h1>
<p>당신은 <?php echo $_GET['age']; ?>세이며 <?php echo $_GET['city']; ?>에 살고 있습니다.</p>
</body>
</html>

이제 greeting.php?name=Sarah&age=30&city=New%20York와 같은 URL을 사용하여 모든 정보를 표시할 수 있습니다.

매개변수 존재 여부 확인

매개변수를 사용하기 전에 존재 여부를 확인하는 것이 항상 좋습니다. 다음과 같이 할 수 있습니다:

<!DOCTYPE html>
<html>
<body>
<?php
if(isset($_GET['name'])) {
echo "<h1>환영합니다, " . $_GET['name'] . "!</h1>";
} else {
echo "<h1>환영합니다, 손님!</h1>";
}
?>
</body>
</html>

이 코드는 'name'이 $_GET 배열에 설정되어 있는지 확인합니다. 설정되어 있으면 사용하고, 그렇지 않으면 기본 메시지를 표시합니다.

보안 고려사항

$_GET는 매우 유용하지만, 데이터가 URL에 노출된다는 점을 기억해야 합니다. 이는 비밀번호와 같은 민감한 정보에 적합하지 않습니다. $_GET 데이터를 사용하기 전에 항상 보안을 위해 데이터를 소ани화해야 합니다.

다음은 소안화 예제입니다:

<?php
$name = isset($_GET['name']) ? htmlspecialchars($_GET['name']) : '';
echo "안녕하세요, " . $name;
?>

htmlspecialchars() 함수는 특수 문자를 HTML 엔티티로 변환하여 XSS 공격을 방지하는 데 도움이 됩니다.

실용적인 应用: 간단한 검색 폼

이제 배운 내용을 실제로 적용해보겠습니다. 간단한 검색 폼을 만들어보겠습니다:

<!DOCTYPE html>
<html>
<body>
<form action="search.php" method="get">
<input type="text" name="query">
<input type="submit" value="검색">
</form>

<?php
if(isset($_GET['query'])) {
$query = htmlspecialchars($_GET['query']);
echo "당신은 다음을 검색했습니다: " . $query;
// 여기서는 일반적으로 $query를 사용하여 데이터베이스 검색을 수행합니다
}
?>
</body>
</html>

이 예제에서는 폼을 자신에게 제출하고, 검색어가 제출되면 표시됩니다. 실제 애플리케이션에서는 이 검색어를 사용하여 데이터베이스를 검색하거나 다른 작업을 수행합니다.

결론

이제 $_GET의 세계로 첫 걸음을 내디뎠습니다! 연습이 완벽을 만들어주니, 이 개념들을 실험해보지 마세요. 얼마 지나지 않아 마치 프로처럼 동적인, 사용자 입력에 응답하는 웹 애플리케이션을 만들 수 있을 것입니다!

행복하게 코딩하세요, $_GET 요청이 항상 원하는 것을 반환하길 바랍니다!

Credits: Image by storyset