
이번 글에서는 이제 author 테이블에 데이터를 추가하는 것을 해보도록 하겠습니다. 입력을 해서 서버에 전송을 해야하는 부분이 필요하기 때문에 form 태그를 통해서 만들어주도록 하겠습니다. 태그 밑에다가 이렇게 작성을 해주시면 입력을 하고 서버에 Submit을 할 수 있는 것이 생성이 됩니다. 지금은 process_create_author.php가 없기 때문에 지금 Submit을 하면 오류가 납니다. 그래서 원래 잇던 process_create.php를 복사해서 파일을 만들어줍시다. 내용을 이제 author 테이블에 있는 내용으로 변경을 해주어야 합니다. sql문과 filtered를 제외하고는 따로 바뀐 부분은 없습니다. 이렇게 해서 이번 글에서는 생성을 하는 부분을 해보았습니다.

이제까지 해왔던 과정들을 다 따라오셨다면 두 개의 테이블을 하나처럼 보이는 것을 완료를 한 것입니다. topic 테이블의 author_id와 author테이블의 id를 공통 값이라고 여겨서 테이블을 연결을 시켰습니다. 이제 이 author 테이블에 저자를 추가하는 웹페이지 또한 제작을 해보려고 합니다. 이번 글에서는 author 테이블의 저자를 읽어오는 것까지 진행을 할 예정입니다. 우선적으로 author 테이블의 저자를 추가하는 링크를 만들어주어야 합니다. index.php로 들어가서 author라는 링크를 하나 새로 만들어 줍니다. 이렇게 만들어주면 메인 웹페이지에서 author라는 링크가 새로 생기게 됩니다. 현재는 author.php가 존재하지 않으므로 index.php를 복사를 해서 새로운 ph..

이번 글에서는 DB 리스트에 DB를 추가하려고 할 때 누가 작성을 했는지를 추가하는 영상을 글로 옮기겠습니다. 이걸 하기 위해서 create.php에 새로운 sql문을 작성을 하려고 합니다. 이렇게 작성을 하게 되면 각 row마다 이라는 html 태그가 줄줄이 이어서 나오게 됩니다. 이렇게 작성을 하고 출력을 하면 아래와 같이 나오게 됩니다. 이 코드는 우리가 원하는 것들 중 하나를 선택해서 서버에 input하는 도구입니다. 현재는 옵션의 이름만 작성을 했는데 이 값을 어떤 값으로 서버에 넘겨주느냐~ 하는 것도 작성을 해주어야 합니다. 그 다음에 select의 name값을 지정을 해줍니다. 이렇게 지정해주는 값들은 process_create.php라는 파일로 전송이 되게 됩니다. 이 받은 값들을 테이블에..

관계형 데이터베이스가 제대로 연결이 되었는지 확인을 하기위해 웹페이지에 맨 아래부분에 누가 author인지 출력을 해보도록 하겠습니다. 그러기 위해서는 sql에 접근할 때 두 개의 테이블을 합쳐서 접근을 해야합니다. $sql의 부분을 위와 같이 바꿔주었습니다. WHERE 뒤에 topic.id라고 작성을 한 이유는 그냥 id라고 작성을 하게 될 경우 어떤 테이블의 id 값을 말하는지 애매해지기 때문에 정확하게 테이블을 지정해준 것입니다. 이제 이렇게 가져온 값들 중에서 필요한 값이 무엇인지 살펴보기 위해서 출력을 해보도록 합시다. 이 중에서 name의 값이 우리는 필요합니다. 이 name 값을 추가해보도록 합시다. 이렇게 by egoing이라고 author가 뜨게 만들었습니다. 근데 이렇게만 만들게 될 경..

이전글에서 봤던 테이블 중 하나인 author 테이블을 만들어보도록 하겠습니다. 우선 mysql서버에 접속을 합니다. 그리고 아래와 같이 작성을 해주세요. 제대로 작성이 되었으면 아래와 같은 명령어를 입력을 했을 때 똑같이 뜨면 된겁니다. 이제 이 테이블에 정보를 추가해보도록 합시다. 이제 이 정보를 바탕으로 해서 여태까지 진행했던 topic 테이블에 author라는 테이블을 결합을 해보도록 합시다. 이것을 어떻게 하는지 검색을 먼저 해보도록 합시다. How to add column in mysql 이런식으로 검색을 해보면 나오게 됩니다. 아래와 같은 명령어를 사용을 하시면 됩니다. 테이블에 int형 값을 가지는 column author_id를 생성한 것을 확인할 수 있습니다. 기존에 있던 테이블에 au..

데이터베이스 모델링이나 정규화라는 검색어를 통해서 데이터를 어떻게 쪼갤지에 대한 고심들을 찾아볼 수가 있습니다. 이렇게 두개의 테이블로 쪼개져 있는 데이터를 하나로 합쳐져서 저장되어 있는 것처럼 보이게 할 수도 있는 것이 관계형 데이터베이스의 탁월함입니다. SELECT * FROM topic LEFT JOIN author author테이블에 왼쪽에 topic 테이블을 놓고 두개의 테이블에 JOIN을 하겠다 라는 의미입니다. 이렇게 조인을 하게되면 데이터베이스 서버의 입장에서는 뭐 어떻게 해야되나 라는 생각이 든다. 우리가 데이터베이스 서버에게 힌트를 주어야 합니다. 두개를 결합을 할 때 topic테이블의 author id의 값과 author 테이블의 id 값이 같다라고 서버에게 알려주는 것이다. 이렇게 ..

사용자로부터 정보를 받으면서 사용자로부터 받는 정보는 오염이 될 가능성이 생깁니다. 그래서 이런것을 방지를 해줘야 합니다. 일어날 수 있는 주요한 사고는 크게 두가지 입니다. 하나는 들어오는 정보에서 문제가 있는 정보를 막아내는 것이고 다른 하나는 이미 문제가 있는 정보가 들어와 있는 상태에서 그 정보가 사용자에게 노출되는 것을 막는것. 즉 입력단과 출력단 모두에서 문제가 발생할 수 있다는 것입니다. 입력 공격의 차단을 filtering 출력 공격의 차단을 escaping 이라고 합니다. 보안에 있어서 첫번째 요소는 사용자가 입력한 정보를 철저히 불신하라는 것입니다. 그리고 어떻게 불신해야 되는가에 대한 것도 상당히 중요합니다. 이번 글에는 바로 그 불신의 기술을 알아보는 것입니다. 사용자가 입력하는 것..

테이블을 선택해서 데이터를 읽어오기 위해 MySQL Monitor에서 SELECT하면 보이는 테이블을 PHP에서도 접근을 할 수 있게 해보려고 합니다. 우선 select.php라는 파일을 새로 생성을 해서 아래와 같이 작성을 해줍시다. 제대로 연결이 되었는지 확인하고 싶은 마음에 $result 를 var_dump를 통해서 웹페이지에 출력을 해보면 이상한 것들이 뜨게 될 겁니다. 결과값에 topic 테이블의 값이 들어있는 것이 아니라 다른 이상한 것들이 들어있다는 것을 확인을 했습니다. mysqli_query의 속성을 제대로 파악을 해봐야 할 것 같습니다. 실패했을 때 false , 성공했을 때는 true를 반환하지만 이것을 쿼리로 반환을 받아서 출력을 했을 경우엔 mysqli_result라는 오브젝트로 ..
//create.php WEB HTML //index.php WEB HTML create Welcome Lorem ipsum dolor sit, amet consectetur adipisicing elit. Numquam corporis necessitatibus enim eveniet omnis perferendis eos minus accusantium! Velit impedit amet dicta ut et aperiam eos, expedita repudiandae libero sed.

첫번째. $link 첫번째 인자는 mysqli_connect의 결과를 넣어줍니다. 두번째. $query 문자열. 두번째 자리에는 sql문을 작성을 합니다. 세번째. return 값 false나 true || mysqli_result로 반환이 된다 boolean값으로 반환되기 때문에 if문으로 전송이 성공했는데 실패했는지 알아낼 수 있습니다. 위 코드대로 작성을 하면 이렇게 되는 것을 확인할 수가 있습니다. 이런 코드를 작성을 하다가 실수를 할 수도 있게됩니다. 그런 문제에 더 가까이 다가가는 방법을 설명해드리겠습니다. 원래는 함수에 그냥 작성했던 것을 변수로 빼서 작성을 했습니다. 이렇게 하면 좋은점은 나중에 문제가 발생했을 때 변수를 출력을 해서 문제를 확인할 수 있게됩니다. echo로 웹페이지에 출력..
- Total
- Today
- Yesterday
- 차이점
- php
- 생활코딩#동영상을#글로#html
- GRID
- 언리얼엔진4
- 글로
- visual studio code
- 언리얼엔진
- 조건문
- PHP&MySQL
- inline
- 안드로이드 스튜디오
- Link
- css
- 기초
- C언어
- 선택자
- TAG
- 동영상을
- 생활코딩#MySQL
- 관계형데이터베이스
- 알고리즘
- javascript
- 문자열
- 변수
- 네트워크 프로그래밍
- 정렬
- HTML
- 객체
- 생활코딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |