데이터베이스에 대해

WEB -  정적 페이지 전달해주는 것.

WAS - 동적 페이지 전달. (PHP, ASP, JSP)

      

웹 애플리케이션 -> 웹 파일을 만들고 -> 그 파일을 웹 서버에 전달.


** 웹 서버로 파일을 요청하는 방법.

(feat. URL 구조)

[protocol]://[IP]:[Port]/[경로]?[파라미터 이름]=[파라미터 값]


var/www/html <- 가장 많이 쓰는 기본 경로.


GET 방식 : URL에 포함 시켜서 보낸다.

POST 방식 : body에 포함 시켜서 보낸다.


sudo docker ps -a

sudo docker rm -f 9f <- 이런 식으로 부분만 쳐줘도 되는 거였다. 유레카.


index.html vs index.php ---------------> 우선순위는 html.


header : php함수.

응답 헤더에다가 header 안에 쓰는 내용을 넣어줌.


header ("location: ??? ")

exit 

<- 저 exit 를 쓰느냐 안 쓰느냐에 따라서 Burp suite 에서 보이는게 달라진다.

exit 쓰면: 딱 php 부분만 출력이 된다.

exit 안쓰면: 밑에 내용들이 쫘라락 다 출력 되게 된다.


<form action=""

<- 자기 자신에게 id, passwd를 보낸다.

이 경우엔 밑으로 넘어가서 if문을 탄다.


앞으로 우리가 php를 가지고 웹 개발을 하다 보면 당연히 엄청나게 길어질거다.

그래서 함수를 미리 만들어 놓는 게 좋다.

ex) login1


에러 발견!

1. 에러 출력: php error 출력

2. 중간중간에 함수를 넣어서 트러블슈팅.

WEB - WAS - Database > 데이터를 저장한다!

                                DB는 WAS랑 얘기한다.

DB로부터 WAS가 데이터를 받아서 화면에 찍어준다.


DB : 엑셀

- Database (데이터베이스 안에 데이터베이스가 있는거 ㅎㅎ)

> 엑셀 파일.

- Table (여러 데이터를 저장할 수 있는)

> 엑셀 시트.

- Column

> 열, 데이터 종류, 카테고리

> 세로 데이터 (엑셀에서 세로 부분!)

- row

> 행, 가로 데이터 (엑셀에서 가로 부분!)


phpmyadmin : mysql을 웹페이지에서 관리할 수 있게끔 만들어 놓은 시스템.

로그인 사용자명 암호가 나오는데, DB 계정을 넣어주면 된다.

계정 -> admin / admin1234


SQL

select : 데이터를 가져온다.

select [컬럼 이름] from []

select name from test_table

select name,pass from test_table (띄어쓰기 필요 없음. 해도 되고 안 해도 됨.)

select * from test_table


## insert : 데이터를 넣는 명령어.

(ex: 회원가입할 때, 게시판 같은 데에다 글을 저장할 때)

insert into [테이블 이름] (컬럼이름) value

                                (괄호 중요)

insert into test_table (name,score,pass) value ('doldol', '80', '2222')

insert into test_table value (NULL, 'dangdol', '70', '3333')

                                    (컬럼 이름을 안 지정해준 것)


# 정교한 select : where

where 구문.

select ~~~ from [테이블] where [조건]

select name,pass from test_table where name='normaltic'

name='normaltic' and pass='1234'

name='normaltic' or pass='1234'

select name,pass from test_table where name='normaltic' and pass='1234'


WAS - DB 연결

> php - mysql

1) id와 비밀번호를 WAS가 알고 있어야 한다.

<?php

        define('DB_SERVER', 'localhost'); <-(DB서버) (보통은 DB의 아이피 주소를 적어준다)

        define('DB_USERNAME', 'admin');

        define('DB_PASSWORD', 'admin1234');

        define('DB_NAME', 'test');


       $db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

                        (DB에 로그인하는 함수!)

                        (이거는 이렇게 정해져있지만, db_conn 이거는 맘대로 바꿔도 된다.)


phpmyadmin에 들어갈 때 사용했던, DB의 아이디 비밀번호입니다.


[WEB]    [WAS]    [DB]   <- 원래 이렇게 세 개 다 따로다. 다 다른 pc.


디스크립터 = 핸들러 = 티켓


DB와 연결을 해놓고 나서, -> 이 연결 정보를 이용해서 DB를 실행하는 겁니다.


mysqli_fetch_array($result);

큰 덩어리에서부터 row를 순서대로 하나씩 끄집어내와준다.


php에서 . <- 이 의미는,  --------------> 두 문자열을 연결해서 출력해준다는 의미.


** 정리.

> Database

> SQL : select, insert, where

> php에서 DB에 SQL 실행하는 방법 (select)


2주차 과제

[1] 복습 (Database, SQL)

[2] Mini Mission (사진 확인)

[3] 회원가입 페이지 만들기 (기능 구현)

[4] 로그인 페이지 (DB 연동)


+ 추가 미션 (호오옥시나... 다해서 심심하면)

-> 가입한 나의 정보를 보는 "마이페이지" 개발

회원가입한 이메일


Comments