PHP 사용자 입력 데이터 전송방식 get, 유효성 검사하기, FILTER INPUT

PHP 기본 문법에서 사용자 입력 데이터 전송방식, 유효성 검사하기, FILTER-INPUT에 대해 알아본다.

get input

  • $ : 수퍼글로벌. 이 서버 어느 페이지에서나 이 변수명으로 선언된 변수는 사용할 수 있다.
  • & : GET 방식으로 넘어가는 데이터 값을 구분하여 넘길 때에는 &을 사용한다.
  • 해킹이나 스크립트에 대한 보안을 위해 특정값(문자, 숫자 등)만 넣도록 할 수 있다.

URL

1
localhost/2.1/index.php?productid=10&limit=2

결과

1
2
3
4
5
6
7
8
<?php
$product_id = $_GET['productid'];
$limit = $_GET['limit'];
?>

<?= $product_id; ?> // 10
showing category: <?= $product_id; ?>.Limit<?= $limit; ?>
// showing category: 10.Limit 2

filter input

  • 문자열에만 사용한다.
  • FILTER_VALIDATE_INT : 숫자인지 검사한다. 숫자가 들어왔다면 true, 아니라면 false.
1
filter_input(들어오는 값의 타입, 변수명, FILTER_option);

URL

1
localhost/2.1/index.php?productid=10&limit=2

결과

1
2
3
4
5
6
7
8
<?php
$product_id = filter_input(INPUT_GET, 'productid', FILTER_VALIDATE_INT);
$limit = filter_input(INPUT_GET, 'limit', FILTER_VALIDATE_INT);

if($product_id == false || $limit == false){
die(); // 멈춤
}
?>
1
2
3
4
5
6
7
8
9
10
11
<?php
$product_id = filter_input(INPUT_GET, 'productid', FILTER_VALIDATE_INT);
$limit = filter_input(INPUT_GET, 'limit', FILTER_VALIDATE_INT);

if($product_id == false){
$product_id = 10; // 기본값 설정
}
if($limit == false){
$limit = 10; // 기본값 설정
}
?>

참고
https://www.php.net/manual/en/book.filter.php


REFERENCE
https://www.youtube.com/watch?v=rCDuvv4ZZE8&list=PL-qMANrofLytZY15Agdi7wFc1seGO7Onb&index=8

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer