월루를 꿈꾸는 대학생
PHP 기초 - GET , 유효성 검사 , FILTER-INPUT 본문
브라우저에 주소를 치고 ENTER를 누르는 순간 해당 주소의 서버에다가 GET방식으로 요청을 함
그 검색결과로 해당 페이지가 있으면 브라우저로 해당 파일을 출력 시켜줌
?q=검색어 : 쿼리로 해당 검색어를 질의
- productid 라는 값이 20이 넘어오면 이 페이지 get-input.php 파일에 $product_id에 저장되어 출력됨
- $_GET['productid'] -> get으로 넘어온 값을 반환
- 슈퍼 글로벌 변수는 어느 페이지 어느 경로에 있어도 사용이 가능하다
- get 방식으로 넘어오는 데이터를 구분할 때는 & 로 구분
- productid 와 같이 limit라는 값들을 & 로 연결해서 넘겨줌
- 옛날에는 저기 주소창에 <script> 를 넣어서 악의적인 조작이 가능했으나 요즘 브라우저는 자체적으로 해당 기능을 막아둠
- 사용자가 입력한 데이터를 필터할 필요가 있음
- GET으로 넘어온 값을 변수에 저장 시 필터처리 FILTER-INPUT
- 숫자가 아닌 값을 넣으면 브라우저가 멈추도록 필터링
- die() 실행되면 그 밑 코드 아무것도 실행 x
- 사용자가 이상한 값 넣을 때 기본값 출력 되도록
- 사용자가 입력한 값을 유효성 겁사 INPUT_FILTER를 통해 가능
php 정보
https://www.php.net/manual/en/book.filter.php
Sanitize filter
- Sanitize = 살균
- 해당 필터에 관계없는 것들을 다 삭제 시켜줌
<?php
// 주소표시줄에 get 방식으로 넘어오는 값중에 productid라는 값
//ex productid=10 중 10을 product_id에 저장
$product_id=$_GET['productid'];
$limit = $_GET['limit'];
//변수에 넣을 때 값을 필터시켜줌
//INPUT_GET : GET 방식으로 넘어옴 :타입
//필터링 처리할 변수명
//유효성 검사:FILTER_VALIDATE_INT 정수인지 구분 : true랑 false를 알려줌
$product_id=filter_input(INPUT_GET,'productid',FILTER_VALIDATE_INT);
$limit=filter_input(INPUT_GET,'limit',FILTER_VALIDATE_INT);
// 변수가 숫자가 아닌 게 넘어오면 밑에코드 실행 x
// if($product_id==false || $limit==false){
// die(); // 숫자가 아닌 값이 넘어왔으면 아무것도 하지마라
// }
//사용자가 숫자가 아닌 값 넣었을 때 기본값 출력 되도록
if($product_id==false){
$product_id=10;
}
if($limit==false){
$limit=10;
}
?>
<h1>get input</h1>
<p>
Showing category: <?= $product_id;?>. - Limit <?= $limit ?>
</p>
참고
'Programing > PHP' 카테고리의 다른 글
PHP 게시판 - DB 생성, TABLE 생성 , FIELD 설정 (0) | 2022.02.14 |
---|---|
PHP기초 - 쿠키 , 세션 (0) | 2022.02.14 |
PHP 기초 - get , post (0) | 2022.02.14 |
PHP 기초 - include , require (0) | 2022.02.14 |
PHP 지역 변수 , 전역 변수, 정적 변수 (0) | 2022.02.10 |