happy cat image

everdevel

우리 모두의 웹 입문, 에버디벨

에버디벨이 책을 냈어요.!!
눌러주세요.

지은이 : 에버디벨 운영자

UI 변경

POST와 GET

앞에서 만들었던 PHP의 회원가입 페이지를 구동시키기 위해 POST와 GET이 무엇인지 알아봅시다.

POST

태그 내에서 사용된 각 컨트롤(입력상자들과 버튼)의 선택 사항을 action에 명시된 url로 전달하게 된다.
이때 입력상자나 버튼에 사용된 name 속성값을 변수명으로 하고 폼 양식에서 사용자가 입력한 내용이나 버튼에 사용된 value속성 값을 그 변수의 값으로 전달되며, 데이터의 길이에 제약이 없고 보안에 강하다.

GET

action에 명시된 URL의 주소 뒤에 ?를 붙이고 변수명과 값을 쌍으로 해서 원 하는 정보를 전달하게 되고, 변수가 여러 개일 경우에는 &로 구분된다. GET방식은 간단하게 변수를 통하여 원하는 값을 전달할 때 사용하며, 웹 브라우저의 주소 창에 전달되는 값이 노출되는 단점이 있어 보안 측면이 취약하다.
즉 여러분이 주소뒤에 봤을 법한 www.everdevel.com?lecture=php&lec_num=5 에서 ?lecture=php&lec_num=5 이것이 GET 방식의 데이터 전달 방식이다. 그럼 소스로 테스트 해봅시다.

<?php
    echo $happy;
    echo "always happy";
?>

위의 소스를 작성하고 저장해서 브라우저에 띄워주세요!

화면에 always happy만 출력됩니다. GET방식에 보면 url뒤에 ?를 붙이고 변수명과 값을 쌍으로 해서 원하는 정보를 전달하게 되고 변수가 여러개일 경우는 &로 구분된다고 하였죠 그럼
url뒤에 적어 봅시다. ? 를 적고 변수명 happy를 적고=I%20am 을 적습니다.

localhost/happy.php?happy=I%20am 이렇게 적으면 나와야 하는데 안나오는걸 보니 이상하네요.

안나오시는 분은 당황하지 마세요. 저도 안나옵니다. 안나오는 이유는 phpinfo의 설정때문입니다.
설정값중에 register_globals란게 있는데요 이 값이 on이면 작동은 되나 보안문제때문에 off가 디폴트값으로 되어있어서 입니다.
그리고 이것이 안된다고해서 on으로 바꾸시면안됩니다. 보안문제 때문에 off인 상태로 하시는게 좋습니다.

안되시면 다음과 같이 작성합니다.

<?php
    echo $_GET['happy'];
    echo "always happy";
?>

이렇게 작성을 하시고 웹브라우저에 실행후에 필자는 happy.php로 저장하였습니다. 폴더는htdocs로해야 합니다.

http://localhost/happy.php?happy=i%20am%20
위와 같이 적어 주시면 $_GET['happy']에 i am이 들어가게 됩니다. %20은 공백입니다. 그외에 다른 문자들도 넣어서 테스트 해보세요!

&를 url에 사용하기 위해 여러개를 넣어봅시다.

<?php
    echo $_GET['happy'];
    echo "always happy <br />";
    echo $_GET['human'];
    echo " are also happy <br />";
// are앞에 공백있어요 주의 공백을 넣어주세요. 안넣어도 상관은 없지만;;;
?>

그리고 주소를 아래와 같이 적어줍니다.

http://localhost/happy.php?happy=i%20am%20&human=you

human 앞에 &있죠?

결과는

php image

그럼 이번엔 POST 방식을 알아볼까요.
이번은 이미 만들었던 회원가입 폼으로 연습해봅시다.

join_result.php 파일을 생성해서 다음과 같이 쳐봅시다. POST는 대소문자 구분을 하므로 대문자로해주세요.

 <?php
  echo "post 방식을 배워봅시다. <br />";

  echo "id ............. {$_POST['id']} <br />";
  echo "name ............. {$_POST[yourname]} <br />";
  echo "password ............. {$_POST[pwd]} <br />";
  echo "confirm password ............. {$_POST[pwd2]} <br />";
  echo "phone number.......... {$_POST[m1]} -{$_POST[m2]}-{$_POST[m3]} <br />";
  echo "sex ............. {$_POST[sex]} <br />";
  echo "address ............. {$_POST[addr]} <br />";
  echo "hobby / computer ............. {$_POST[com]} <br />";
  echo "hobby / sports ............. {$_POST[sports]} <br />";
  echo "hobby / shopping ............. {$_POST[shop]} <br />";
  echo "hobby / movie ............. {$_POST[mov]} <br />";
 ?>

그리고 join.php 파일을 실행하고 임의로 값을 입력한후 submit버튼을 눌러주세요.

그러면 아래와같이 결과가 출력됩니다. 이것이 post방식입니다.

php image

그럼 또 공부하고 강좌를 올리겠습니다. !!!

에버디벨의 완성 :: 웹코딩 시작하기

안녕하세요.
에버디벨 운영자입니다.
여러분이 늘 이용해 주셔서 하루 5명 오는 사이트가 1000명이 오는 사이트가 되었고,
또 그 이유로 사이트를 운영을 멈추지 않아 저같은 평범한 사람이 책까지 쓸 수 있게 되었습니다.
여러분이 찾지 않았다면 진작 사이트 접었습니다.
저의 웹개발 경력 2년을 쏟아내어서 6개월의 집필, 8개월의 교정기간을 거쳐 [웹코딩 시작하기]가 출간했습니다.
웹코딩 시작하기는 HTML5를 시작으로 CSS3 -> jQuery를 학습합니다.
그리고 앞에서 배운 내용으로 간단한 소통사이트를 반응형으로 제작합니다.
보통의 책은 HTML5 + CSS3로 끝나고 혹은 HTML5 + CSS3 + jQery로 끝나지만 웹코딩 시작하기는 여기서 끝내지 않았습니다.
그 다음 바로 데이터베이스중 하나인 MySQL를 학습하고, 그 이후 PHP를 학습니다. 그리고 앞에서 만든 소통사이트에 회원가입, 로그인 기능은 기본으로 진행하며, 스크롤이벤트를 이용하여 스크롤을 내리면 AJAX를 작동시켜 게시물을 더 불러오는 기능을 구현하고 자기의 로그기록을 파일에 쓰기, 그 밖에 자신의 프로필사진, 커버사진 등록, 댓글 쓰기등의 기능을 적용합니다.
본서는 웹코딩을 처음하는 사람이 하나에서 끝나지 않고 처음부터 시작해 프로젝트까지 완성해가며 전체적으로 시스템이 어떻게 작동하는지 전반적으로 알게하기 위해 태어났습니다.
적어도 지구에서 가장 친절한 웹 입문서라고 생각하는 책입니다.
에버디벨로 부족하셨다면 웹코딩 시작하기를 추천합니다.

어제보다 나은 나, 오늘 보다 나을 내일의 나를 만드는 :: 웹코딩 시작하기

목차보기

종이책 구입하기

전자책 구입하기

PART 1. 프론트엔드 HTML5 + CSS3 + jQuery

CHAPTER 1. HTML5

1. HTML5 소개

2. 메타 태그

3. 텍스트 태그

4. 이미지 태그

5. 하이퍼링크 태그(a 태그)

6. 리스트 태그

7. form 태그

8. 공간 태그

9. video 태그

11. svg와 canvas

12. table 태그

CHAPTER 2. CSS3

1. CSS 소개

2. CSS를 적용하는 세 가지 방법

3. 선택자(selector)

4. 텍스트를 꾸미는 CSS 요소

5. 가로 길이와 세로 길이 조정하기

6. 텍스트가 영역을 벗어날 때

7. HTML 엘리먼트의 위치 변경하기

8. 배경 꾸미기

9. 외곽선 긋기

10. float와 clear

11. 박스의 바깥 여백 설정하기

12. 박스의 안쪽 여백 설정하기

13. CSS 리셋

14. 애니메이션

15. transform

16. transition

17. display

18. 반응형 웹

19. 반응형으로 간단한 레이아웃 만들기

20. SVG 태그

CHAPTER 3. jQuery

1. jQuery 시작하기

2. 셀렉터

3. 엘리먼트 보이기와 숨기기

4. 클릭했을 때 무언가 하기

5. 마우스 포인터를 요소 위에 올릴 때 무언가 하기

6. 제이쿼리로 CSS 적용하기

7. 변수 사용하기

8. HTML 엘리먼트에 있는 텍스트 변경하기

9. HTML 태그 제어하기

10. 애니메이션 기능

11. 엘리먼트에 클래스 추가, 삭제하기

12. 엘리먼트의 이동

13. 폼 태그의 값 조정

14. 포커스

15. this 사용하기

16. 연산자

17. 함수 만들기

18. 변수에 대해서

19. 글로벌 변수와 로컬 변수

20. 조건문

21. 반복문

22. 스크롤 이벤트

23. AJAX

24. canvas 태그(HTML5)

project 나의 첫 웹서비스 만들기

CHAPTER 1. 나의 첫 웹서비스 프로젝트 소개

CHAPTER 2. 나의 첫 웹서비스 만들기 프로젝트 - front end

1. 메인 페이지 만들기(index.html)

2. 나의 페이지 만들기(me.html)

3. 모두의 페이지 만들기(all.html)

PART 2. 백엔드 MySQL + PHP

CHAPTER 1. MySQL

1. 데이터베이스란?

2. MySQL 시작하기

3. 데이터베이스 만들기

4. 테이블

5. 필드의 데이터 크기와 데이터형 지정하기

6. 테이블 생성하기

7. 필드의 추가, 수정, 삭제

8. 테이블 삭제하기

9. 테이블에 데이터 입력하기

10. 데이터 불러오기

11. 데이터의 값을 변경, 삭제하기

12. 테이블 초기화

13. 2개 이상의 테이블 사용하기(JOIN)

14. 집계함수

15. 그룹별 집계

16. 출력 결과의 정렬

17. 불러올 레코드 수 지정하기

18. 2개 이상의 테이블을 묶어 사용하기

19. 쿼리문 안의 쿼리문 서브쿼리

20. 특정 필드에 같은 값을 넣지 않는 방법

21. 서로 다른 필드의 값을 합쳐서 출력하기

22. 검색을 더욱 빠르게 하는 인덱스

CHAPTER 2. PHP

1. PHP 소개

2. 출력문

3. 주석

4. 변수

5. 연산자

6. 배열>

7. 데이터형

8. 조건문

9. 반복문

10. 함수

11. 함수 만들기

12. POST와 GET

13. 기능의 사물화

14. 코드의 재활용

15. PHP와 MySQL의 연동

16. 상수

17. 정규 표현식

18. 파일 업로드

19. 디렉터리 함수

20. 파일 함수

21. Anchor 태그의 ping 속성과 AJAX

22. 쿠키와 세션

23. 객체지향 프로그래밍

project 나의 첫 웹서비스 만들기

CHAPTER 3. 나의 첫 웹서비스 만들기 프로젝트 - back end

3-1. 회원가입 기능

3-2. 로그인, 로그아웃 기능

3-3. 게시물 등록하기

3-4. 게시물 불러오기

3-5. 댓글 등록하기

3-6. 댓글 불러오기

3-7. 게시물 공감하기

3-8. 모두의 페이지

3-9. 포토 업로드 기능

3-10. 나의 로그 만들기

강좌로 돌아가기