PHP - $_GET: 초보자 가이드
서론
안녕하세요, 미래의 PHP 개발자 여러분! 오늘 우리는 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