728x90
폼과 PHP
HTTP
- HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버가 서로 소통하기 위한 프로토콜, 즉 통신 규약
- 웹 페이지에서 폼(form) 양식 처리를 이해하려면 HTTP의 동작 원리 이해가 필요
- 웹 브라우저가 HTTP 통신 규약에 의해 웹 서버에 데이터를 요청하면 웹 서버는 이를 처리하여 결과를 웹 브라우저에 돌려줌
폼 양식의 생성
<form name="form_name"
method="POST/GET"
action="linked_file_name" >
…
</form>
- <form> 태그의 name 속성은 폼의 이름을 명시하며, 주며, 이 이름은서버로 제출된 폼 데이터 (form data)를 참조하기 위해 사용되거나, 자바스크립트에서 요소를 참조하기 위해 사용
- <form> 태그의 action 속성은 폼에 입력한 데이터를 전달할 파일을 지정할 때 사용
- <form> 태그의 method 속성은 통신을 통해 데이터를 전달하는 방법을 지정할 때 사용
- <form> tag에 사용되는 기본적인 속성 3가지: name, method, action
textarea
- rows: 줄 수
- cols: 글자 수
textarea에 개행해서 넣은 문자열은 content로 받아왔을 때 한줄로 인식 (개행을 인식하지 못하기 때문, <br>을 넣어줘야함)
이럴땐 nl2br함수를 사용해서 nl2br(content)로 넘겨주면 된다!
- nl2br(문자열): 문자열 내의 줄바꿈 기호(new line) 을 HTML 태그의 <BR />로 바꾸어주는 함수
enc 타입
- application/www-form-unlencoded: 디폴트값, 서버로 전송되기 전에 URL-Encode 됨
- multipart/form-data: 파일이나 이미지를 서버로 전송한 경우
- text/plain: 인코딩을 하지 않은 문자 상태로 전송
폼에서의 데이터 전달 방식 정리 (POST/GET)
CGI
- Common Gateway Interface의 약자로 기존의 HTML의 한계(복잡한 계산이나 DB연동, 인수의 전달 등의 불가능)를 해결하여 데이터를 다른 웹 페이지로 전송할 수 있도록 하는 환 경을 제공하는 규약
- 웹서버가 보통 CGI 프로그램 혹은 CGI 스크립트라고 부르는, 웹페이지 내용을 만드는 외부 프로그램과 통신하는 방법을 정의
- 웹사이트에서 동적인 페이지를 만드는 가장 흔하고 간단한 방법
- 데이터 전달 방식으로 GET과 POST 방식이 있음
폼에서의 데이터 전달 방식 정리 (POST/GET)
- URL Encoded 방식으로 데이터를 전송할 때 적용하는 방법을 말함
[GET 방식]
- URL에 ?와 변수를 이용해 전달하는 방식
- 소량의 데이터 전송-255자로 제한
- 사용이 간편
- 사용자가 조작해서 전달 가능
[POST 방식]
- 헤더로 인코딩해서 전송하는 방식으로 숨겨져서 서버로 전송됨
- 전송 길이는 서버 또는 클라이언트 시스템에 따라 결정됨
- 대량의 데이터 전송 가능
- GET방식에 비해 보안이 뛰어남
쿠키
- 쿠키(cookie)는 사용자가 웹 페이지에 접속할 때, 웹 서버가 사용자의 컴퓨터에 저장하는 작은 양의 데이터
- 웹 페이지에서 쿠키를 확인하여 로그인 상태의 유지나 장바구니에 상품이 담겨 있는지를 확인
- 웹 서버는 쿠키를 사용자의 컴퓨터에 저장한 뒤, 쿠키가 필요할 때 사용자의 컴퓨터에 요청하고, 사 용자의 컴퓨터는 저장된 쿠키를 웹 서버에 전송
- 쿠키는 사용자의 컴퓨터에 텍스트 파일 형태로 저장되며 주로 다음과 같은 목적으로 사용
- 특정 웹 사이트를 재방문하거나 웹 사이트 내 다른 페이지 이동 시 다시 로그인할 필요 없음
- 사용자의 컴퓨터에서 아이디나 비밀번호 기억
- 사용자의 웹 페이지 이용 패턴 분석
728x90
'Backend > PHP' 카테고리의 다른 글
[PHP] 배열/함수 (1) | 2025.04.21 |
---|---|
[PHP] 조건문/반복문 (0) | 2025.04.21 |
[PHP] PHP 프로그래밍 기초 (1) | 2025.04.21 |
[PHP] MAC M2에서 XAMPP 설치 + VScode에 PHP 세팅하기 (0) | 2025.04.20 |
[PHP] - 웹(WEB) 이해하기/PHP와 서버들 (1) | 2025.04.20 |