웹에플리케이션 만들기 – PHP 실습 4

자, 여기에 indexphp?id=1 이라고 했을때 첫번째, JavaScript란?이란 이라고 하는 저 안에 저장되어 있는 정보를 가져오도록 하는 방법을 살펴볼게요 자, 우선 이 JavaScript란? 에 해당되는 정보를 우리는 별도의 1

txt 라는 파일에 보관하겠습니다 그리고 거기에 h2 여기 있는 이 내용 있죠 article 안에 있었던 이 내용을 cut 해서 index

php에 있었던 내용을 cut 해서 1txt 파일에 붙여 넣기를 합니다 자, 그리고 indexphp로 가서 여기에다가 이렇게 php코드를 넣어서 echo file_get_contents("1txt"); 이렇게 하고 리로드를 해보면 보시는 것처럼 1

txt 파일을 읽어서 그것을 이곳에 표시해주고 있는 겁니다 자, 그런데 아직은 끝나지 않았어요 아직은 끝나지 않은 상태입니다 여기 id값을 어떤걸 줘도 똑같은게 나오니까 아직 안끝난거죠 자, 그러면 여기 있는 1을 이제 우리가 가변적으로 바꿔야겠죠 url을 통해서 전달된 id값이 무엇이냐에 따라서 파일의 여기에 위치하는 파일의 이름이 달라지게 코드를 변경한겁니다 자, 똑같습니다만 이제 htdocs에 새로운 파일을 만들어서 2txt라고 하고 두번째 정보는 변수와 상수이니까 <h2>변수와 상수</h2> 변수는 바뀌는 것 상수는 바뀌지 않는 것 이렇게 그럼 이제 변수와 상수를 클릭하면 예 여기 있는 2

txt의 내용을 가져와야겠죠 근데 엉뚱한데로 가고 있어요 왜 그렇겠어요? 아직 링크를 수정하지 않았기 때문입니다 자, 여기 있는 정보는 어디 있는 정보를 제가 가지고 온 건가요? listtxt에 있는거죠 그래서 listtxt에 있는 이 링크를 index

php?id=""으로 바꾸는거에요 전체를 자 요것도 요렇게 바꾸고 요것도 요렇게 바꾸고 요것도 요렇게 바꾸는 겁니다 그리고 첫번째 링크는1 두번째는 id=2 세번째는 id=3 4 저장 그리고 여기 있는 페이지를 갱신하면 자, 여기 있는 이 링크는 index

php?id=1이라는 값을 갖게 되고 두번째는 2를 갖게 되고 세번째는 3 4 이렇게 되는거죠 그러면 우리가 무엇을 클릭했느냐에 따라서 보시는 것처럼 그것에 해당되는 txt 파일을 동적으로 프로그래밍적으로 읽어서 html 파일을 만든 다음에 그것을 웹서버에게 php 엔진이 전달해주면 웹서버는 그 정보를 웹브라우져에게 꽂아주는 거죠 자, 그럼 나머지 파일도 만들어봅시다 3txt 그리고 <h2>연산자</h2> 연산자는 계산하는 것입니다

엄청빨리 타이핑하죠? 그 다음에 4txt 를 만들기 귀찮으니까 우리는 list를 하나 줄입시다 자, 조건문을 아예 없애버렸어요 그러면 다 끝났습니다 이렇게 클릭하는 거에 따라서 그것에 해당되는 정보를 텍스트에서 읽어서 표현해주고 있는 거죠 그리고 여기 있는 제목부분을 클릭했을 때도 적당한 곳으로 이동을 해야되는데 이거는 여기에서 indexphp 라고 하고 리로드 그러면 얘를 클릭하면 됩니다

자, 그런데 우리가 indexphp로 이렇게 접속을 하게 되면 여기에는 어떤 값이 오게 될까요? 여기 아무것도 없죠 그 얘기는 id값이 없다는 얘기죠 그러면 여기에는 어떤 값이 오게 되냐면 아무 값도 없는 상태가 됩니다 그러면 결국에는 txt 라는 파일을 php가 읽으려고 시도할 텐데 이거는 에러가 발생할 수 있어요 이렇게 처리하는건 좋은 방법이 아닙니다 자, 그런 경우에는 어떻게 처리하는게 좋은 방법이냐면 자 이렇게 만약 $_GET['id'] 가 존재하지 않는다면 존재하지 않는다면을 php에서 알아내는 방법은 empty라는 함수에 입력값으로 어떤 값을 주는거에요

자, 여기 제가 좀 띄어쓰기를 해서 이 함수의 값으로 $_GET[ 'id']를 하게 되면 제가 지금 강조 표시한 저 부분의 값이 없다면 존재하지 않는거죠 그 얘기는 empty라는 거니까 저기가 true가 됩니다 즉 이 empty라는 함수는 입력값이 없을때 true 가 되는 함수에요 내장된 함수 입니다 그러면 얘가 false 일때 이렇게 3개 쓰는게 더 좋은데 상관 없겠네요 자, 이렇게 하는거죠 그러면 id 값이 없으면 아예 여기 있는 구문이 실행이 안되기 때문에 존재하지 않는 파일을 읽으려는 시도를 하지 않을 것이기 때문에 더 안전한 애플리케이션이 되는 겁니다

이런 때도 if문을 쓰는 거에요 자, 그러면 이제 정말로 여기 있는 모든 링크가 다 서로 연결되어 있고 어떤 링크를 클릭해도 문제가 생기지 않게 되었습니다 자, 이렇게 된 상태죠 자, 그리고 여기서 굉장히 중요하게 여러분들이 생각해야 될 것은 우리가 앞에서 HTML에서 CSS를 별도의 파일로 빼내면서 중복을 제거했죠 덕분에 CSS 파일만 수정하면 모든 페이지의 디자인이 다 바뀌었습니다 JavaScript도 마찬가지에요 JavaScript도 마찬가지로 파일로 빼게 되면 중복이 제거되면서 JavaScript 파일만 수정하면 모든 파일에서 수정이 일어난다는 것이죠 자, 이것이 이전에 우리가 작성한 문서 모델이에요 모든 정보들이 HTML 하나하나에 담겨 있었습니다 이거 아까 봤었던 내용인데 다시 보는거에요 이제 좀 다른 시야로 보일 겁니다 자 그런데 이제 HTML 파일 안에 있는 정보와 HTML도 다시 분리할 수 있는 지점들이 존재하더라는 거죠 자, 그래서 그것을 분리해서 보시는 것처럼 1,2,3TXT에다가 정보를 담고 그리고 index

php는 사용자가 요청한 정보가 id값이 1이면 1txt를 읽어서 페이지를 만들어서 웹브라우져로 전송해주는 것이죠 자, 그 덕에 만약에 이 헤더부분에 우리가 생활코딩의 로고를 담고싶다 라고 한다면 자, 예를 들면 이렇게 생활코딩의 홈페이지로 가서 이거는 따라 하셔도 되고 안하셔도 되고 다른 이미지를 쓰시는걸 권장합니다 자기가 구할 수 있는 이미지 아무거나요 자, 오른쪽 클릭하면 이미지 url을 복사 할 수 있어요 그러면 그 url이 그 이미지를 가리키는 주소에요 자, 그것을 이 h1 헤더부분에다가 img 탭 그리고 이렇게 src에다가 이미지의 주소를 넣고 alt에는 생활코딩 이라고 입력 합니다 자, 그리고 우리가 웹페이지를 열어보면 이렇게 생활코딩이라는 텍스트가 출력이 되죠 이게 지저분 하니까 css로 header 테그 하위에 있는 img 테그에 flat:right 로 한번 해볼까요 오른쪽으로 붙었죠

자, 오른쪽으로 붙었는데 음 여기에서 img 테그를 h1 테그 위로 올릴게요 그러면 얘가 위로 더 올라갔죠 자, 이 상태에서 img 테그가 너무 커요 height:200px ? 음 너무커요 100px ? 자, 요렇게 하니까 이 헤더 부분에 이미지를 추가할 수가 있었는데 상당히 복잡한 내용이었음에도 불구하고 우리는 CSS파일 하나 수정하고 그리고 이 index 파일 하나에만 이미지 파일을 이렇게 수정하면 모든 웹페이지에서 보시는 것처럼 변화가 일어나는 것을 볼수가 있습니다 이것이 바로 php의 힘이고 더 나아가서 좀 더 본질적으로 봤을때는 중복을 제거 했을때 우리가 얻을 수 있는 장점입니다 그래서 제가 우리 수업 처음부터 여러분들한테 반복적으로 강조하는게 뭐에요? 중복을 제거한다 라는거 반복적으로 강조드리고 있습니다 이 프로그래밍, 특히나 정보기술은 전자화된 시스템 위에서 동작하기 때문에 이런 HTML이나 CSS나 JavaScript 라는 것을 하나 만들어 놓고 그 하나를 여러곳에서 동시에 가져다 쓰는 것이 가능합니다 바로 이 중복의 제거라고 하는 정보기술 밑바닥에서 흐르는 도도하게 흐르는 이 원리 또는 그 방향성들을 여러분들이 잘 이해하신다면 비단 웹 뿐만 아니라 어떤 분야의 시스템을 여러분들이 공부하시건 간에 이것은 그 시스템을 이해하는데 있어서 굉장히 유용한 인식의 도구가 될 수 있을 겁니다

더 나아가서 이 웹이라고 하는 것의 발전 역사는 중복을 제거하는 것의 역사라는 생각도 들지 않으세요? 자, 이렇게 해서 우리가 파일에다가 정보를 저장해서 웹사이트를 유지하는 방법에 대해서 알아봤고요 그런데 이게 우리 수업의 종착지는 아닙니다 우리 수업의 종착지는 제가 예고해 드린 것처럼 바로 이 관계까지 나아가는 겁니다 웹브라우져가 정보를 입력하면 데이터베이스가 그 정보를 응답해 주는 관계 그리고 이 데이터베이스는 파일보다 훨씬 더 효율적으로 정보를 저장할 수 있어요 훨씬 더 안전하고 그래서 우리가 실재로 에플리케이션을 만든다고 하면 저 데이터베이스를 사용하게 됩니다 그래서 다음 시간부터는 우리 데이터베이스를 공부하고 그 데이터베이스를 PHP와 연동해서 어떻게 웹 애플리케이션이 동작하게 되는가 라는 것에 대해서 알아보도록 하겠습니다