생활코딩 php form과 POST
내일은 강의를 듣지말고 미리 웹앱을 만들어보고 복습하듯이 강의를 듣자.
미션 - 웹앱 만들기
생활코딩 php 웹앱 완성하기~
정보시스템의 핵심은 입력과 출력이다. 글 쓰는 플랫폼이라면 글을 쓰는 것과 글을 화면에 출력해주는 게 최우선 과제다.
정보 시스템에서 항상 먼저 봐야할 것
Create Read Update Delete
사용자의 정보를 서버쪽으로 전송할 때 사용하는 form과 POST
<input>
: 사용자로부터 정보를 입력받는 html 태그
<input type="text">
타입 속성을 text로 하면 사용자로부터 텍스트 정보를 입력받을 수 있다.
<input type="text" name="title">
<input type="submit">
타입을 submit으로 하면 사용자로부터 입력받은 정보를 서버로 제출한다.
저렇게만 적고 누르면 아직 아무것도 되지 않는다. 왜냐, 그 정보를 서버의 어떤 페이지로 보낼 것인가를 웹브라우저한테 알려줘야한다. 그러기 위해선 form태그로 감싸줘야한다.
<form action="form.php">
<input type="text" name="title">
<input type="submit">
</form>
이러고 form.php 파일을 만들어서
<?php
echo $_GET['title'];
?>
이렇게 하면 url의 title값이 바뀐 페이지 본문에 출력된다.
form태그는 사용자로부터 입력받는 값의 name 속성값을 이름으로 해서 submit 버튼을 누르면 그 submit버튼이 속해있는 form태그의 action 속성이 가리키는 url로 브라우저가 바꾸면서 이동한다. 사용자가 입력한 정보를 url로 만들어내는 기계 정도로 생각..
그리고 php에서 파일 저장할 때 쓰는 함수를 찾는다.
<?php
file_put_contents('data/'.$_GET['title'], $_GET['description']);
?>
echo로 적었던 코드를 다 삭제하고 form.php엔 이 코드만 남겨둔다. 이러면 내가 입력한 정보에 맞는 파일이 생성되지만 url에 모든 정보가 다 표시된다. 이렇게 주소에 파라미터가 표시되는건 좋은 방법이 아니다.
사용자가 서버로 데이터를 보낼 때 어떤 데이터를 지울 때는 쓰면 안된다. 북마크에서나 적합한 사용방식이다. 컨텐츠를 다른 사람에게 공유할 때나 사용.
$_POST로 url을 통하지 않고 몰래 데이터를 전송할 수 있다. 예약된 변수 이름이다.
<form action="form.php" method="post">
form에다가 데이터를 어떻게 전송하는가 방식을 정해준다.
file_put_contents('data/'.$_POST['title'], $_POST['description']);
데이터를 받는 쪽도 이렇게 변경해준다.
form에서 method생략시 기본값인 GET을 쓰는 것과 같다.
-
-
오늘은 집중이 너무 안됐다. 스스로 생각해보고 했어야 했는데 머리가 안돌아가니까 그냥 강의만 보게 됐고 강의조차도 머리에 안들어와서 조금씩 봤다.
내일은 강의를 듣지말고 미리 웹앱을 만들어보고 복습하듯이 강의를 들을 것이다.