[PHP] PHP의 URL 파라미터
1. URL 파라미터
경로가 이와 같다고 가정할 때,
http://localhost/test.php?name=sieun
name이라는 url의 값에 따라 다르게 출력하게 해보자.
웹 페이지에서 GET 요청으로 전달된 “name” 매개변수의 값을 출력한다.
안녕하세요 <?php echo $_GET["name"] ?>님
http://localhost/test.php?name=sieun
일 때 아래와 같이 출력된다.
2. URL 파라미터의 활용
각각의 페이지에 접근할 때마다 URL을 변경해보자.
<body>
<ol>
<li><a href="index.php?id=HTML">HTML</a></li>
<li><a href="index.php?id=CSS">CSS</a></li>
<li><a href="index.php?id=JavaScript">JavaScript</a></li>
</ol>
<h2>
<?php echo $_GET["id"]; ?>
</h2>
</body>
3. 페이지 내용 변경하기
각각의 페이지에 접근할 때마다 페이지 내용을 변경해보자.
먼저 아래와 같이 파일 구성하기!
그리고 index.php에 아래 코드를 추가하자
file_get_contents()
를 통해 파일의 내용을 문자열로 읽을 수 있다.
<body>
<ol>
<li><a href="index.php?id=HTML">HTML</a></li>
<li><a href="index.php?id=CSS">CSS</a></li>
<li><a href="index.php?id=JavaScript">JavaScript</a></li>
</ol>
<h2>
<?php echo $_GET["id"]; ?>
</h2>
<div>
<?
// echo data/id 값에 해당하는 파일의 내용;
echo file_get_contents("data/" . $_GET["id"]);
?>
</div>
</body>
⚠️ BUT 보안 이슈로 위 코드는 왠만해선 사용해서는 안된다.
4. 조건부 렌더링
조건문을 활용하여 id가 있다면 해당 내용 출력, 없다면 Welcome을 출력해보자.
해당 변수에 값이 존재하는지 확인하는 isset을 활용하였다.
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<li><a href="index.php?id=HTML">HTML</a></li>
<li><a href="index.php?id=CSS">CSS</a></li>
<li><a href="index.php?id=JavaScript">JavaScript</a></li>
</ol>
<h2>
<?
// $_GET["id"]이 있다면, true
if (isset($_GET["id"])) {
echo $_GET["id"];
} else {
echo "Welcome";
}
?>
</h2>
<div>
<?
if (isset($_GET["id"])) {
echo file_get_contents("data/" . $_GET["id"]);
} else {
echo "Hello, PHP!";
}
?>
</div>
</body>
댓글남기기