뇌를 자극하는 PHP 프로그래밍 - eBook 공개
2020. 6. 8. 19:02
프로그래밍/PHP
뇌를 자극하는 PHP 프로그래밍이 절판되어 PDF 파일을 공개합니다. 아래 주소에서 다운받으시면 됩니다. https://ezphp.net/docs/book/
데이터베이스 설계 및 정규화 (Nomalization)
2012. 11. 5. 15:20
프로그래밍/PHP
데이터베이스를 설계하기 위한 과정은 다음과 같습니다. 1. 요구분석 2. 개념적 설계 3. 논리적 설계 4. 물리적 설계 고객의 요구사항을 분석하여 추상화 과정을 통해 개념적 설계를 합니다. 개념적 설계의 바탕은 세상의 만물을 Entity(개체)와 Relationship(관계)로 표현하는 것이며 Entity와 Relationship은 각각 속성(property)을 가질 수 있습니다. 예를들면 학생, 교수, 학과 등이 Entity가 되고 지도교수관계, 소속학과 관계 등이 Relationship이 됩니다. 이렇게 Entity와 Relationship으로 모델링하는 방법을 ER Model 이라고 합니다. (이때 ER diagram을 그리게 됩니다.) 이렇게 추상화 과정을 통해 ER Model을 완성하면 논리적..
ActiveX 컨트롤과 PHP의 연동 방법
2009. 11. 24. 21:07
프로그래밍/PHP
최근 ActiveX 컨트롤은 은행, 공공기관, 게임 사이트 등등 너무나 폭넓게 사용되고 있다. 웹의 제약을 넘어서 많은 일들을 할 수 있기때문에 많은 기관들이 ActiveX를 소위 남용하고 있다. 그래서 일각에서는 인터넷 익스플로어에서만 사용가능한 이 ActiveX를 사용하지않고 웹 표준을 따라서 사이트를 개발해주기 바라는 사람들의 목소리가 커져가고 있다. 하지만 웹 개발자의 입장에서 사실 편리하기도 하고 또한 ActiveX를 다룰줄 모르면 안되기에 PHP와 연동하는 방법을 살짝 알고 넘어가도록 하자. 다음의 파일은 아마도(기억이 잘 안난다) 내가 예전에 만들어 놓고 컴퓨터 귀퉁이 어디엔가 쳐박아둔 ActiveX 컨트롤이 아닌가 싶다. 책에 ActiveX 컨트롤 다루는 방법을 추가하려다 분량(편집하기 전..
카운터 만들기 ::: 소스 코드
2009. 4. 1. 20:28
프로그래밍/PHP
카운터 소스 코드 이 카운터의 전체적인 흐름은 다음과 같습니다. 선행 작업 1. 카운터가 들어갈 페이지와 동일한 디렉토리에 count.txt 라는 파일을 만듭니다. 2. 퍼미션(파일의 권한설정)을 777로 맞춥니다. 텔넷 : chmod 777 count.txt FTP : 파일을 클릭하고 오른쪽 버튼을 누르면 chmod 설정메뉴가 있습니다. 알FTP를 이용한 퍼미션 설정 위 그림과 같이 체크 박스를 모두 클릭하시거나 모드를 777로 수정하면 됩니다. 윈도우에서 퍼미션 설정 파일 시스템을 NTFS를 사용하는 경우에 다음과 같이 설정하시면 퍼미션 설정이 가능합니다. FAT32인 경우에는 퍼미션 설정이 필요없습니다. 윈도우탐색기->도구->폴더옵션->보기->모든 사용자에게 동일한 폴더 공유권한을 지정을 체크해제...
카운터 만들기 ::: 만인의 선택 쿠키
2009. 4. 1. 20:19
프로그래밍/PHP
우리가 앞선 강좌에서 선택한 것은(사실은 제가 선택했지요..^^) 쿠키였습니다. 자 그러면 이제 쿠키로 카운터를 만들어야 할터인데 카운터에 왜 쿠키가 필요한지는 알아야겠죠? 카운터는 홈페이지를 방문한 사용자의 수가 정확히 얼마나 되는가를 알고 싶은게 목적입니다. 대개 카운터는 메인페이지에 넣기 마련인데 (물론 프레임등을 이용하여 항상 보이는 곳에 두기도 합니다.) 만약 메인페이지를 브라우저에서 불러 들일때마다 카운터가 하나씩 증가한다면 엽기적인 방문자(메인페이지에서 F5를 마구 눌러대는 사람)나 수시로 메인페이지로 가는 Home 버튼을 누르는 사람들에게 걸리면 실질적인 방문자가 10명임에도 하루방문자가 100에서 심하게는 1000까지 이르는걸로 나오게 됩니다. 이래서는 안되겠지요? 물론 홈지기를 다소 흥..
PHP 기초 문법 ::: 함수
2009. 4. 1. 19:47
프로그래밍/PHP
함수는 다음과 같이 선언을 합니다. 함수명은 변수명과 같은 식별자를 사용합니다. 인자는 함수 호출시에 함수 내부에 전해줄 값입니다. 앞서 제어구조에서 배웠듯이 return을 통해 수행결과를 되돌려 줄 수 있습니다. 위 소스에서 두가지를 알 수 있습니다. 한가지는 함수 선언이 나중에 되어 있어도 호출이 가능하다. 또 한가지는 조건적으로 함수를 선언할 수 있다. 만약 $use 가 false 이거나 선언전에 호출을 한다면 함수가 정의되지 않았다는 심각한 에러를 맛보게 될 것입니다. 이 소스는 참 재미나는군요. 함수안에 함수를 정의하여, 함수가 호출되기 전까지는 사용이 불가능합니다. 함수가 호출이 되고 나면 함수안의 함수가 선언되어지고 그 이후부터 사용이 가능하게 됩니다. 참고 (중급). PHP는 함수 오버로딩..
카운터 만들기 ::: 뭘로 카운터를 만들까?
2009. 3. 31. 14:35
프로그래밍/PHP
카운터는 홈페이지에 접속하는 사람들의 수를 나타내는 프로그램입니다.(다들 아시죠?) 대부분의 경우 오늘의 접속자 수와 지금까지의 총 접속자 수를 표시하지요. 일반적으로 3가지 종류의 카운터가 있습니다. 1. 일반 카운터 : 카운터가 있는 페이지를 다시 읽을때마다 카운터가 올라감 2. 쿠키 카운터 : 쿠키라는 것을 이용해서 브라우저를 닫기전까지 단 1회만 올라감. 3. 세션 카운터 : 세션이라는 것을 이용해서 세션이 살아 있을때까지 단 1회만 올라감. 쿠키란 무엇이냐? 과자라구요? 하하..무릎꿇고 두손 드십셔.. -_-;; 우리는 다음이나 다른 사이트에 들어갈때, 아이디와 패스워드를 넣고 들어가는 경우가 많습니다. 이는 회원만 사이트를 이용할 수 있게 함이죠. 다른 일반인들이 아무나 들어오지 못하게 로그인..
PHP 기초문법 ::: 제어 구조(include , require , return)
2009. 3. 31. 14:25
프로그래밍/PHP
이 두 구조는 외부 파일을 대체하는 기능을 합니다. require('somefile.html'); include('somefile.html'); 위와 같은 형식으로 사용하는데 아래의 예를 보시면 쉽게 이해하실 수 있을것입니다. head.html main.php 결과 : main.php include() 문 자리에 head.html의 소스가 고스란히 들어간 결과와 같게 됩니다. 그럼 이번엔 PHP 파일을 인클루드 해보겠습니다. main.php 1 2 3 4 5 inc.php 1 2 3 결과 : main.php 여기서 주의해야 할 점이 있습니다. include()문이 파일로 대체된다고 해서 inc.php 파일에 를 빼버린다면.. 위의 결과처럼 인클루드된 파일은 PHP 소스가 아니라 그저 HTML인것으로 이해..
PHP 기초 문법 ::: 제어 구조 (for, continue, break, switch)
2009. 3. 30. 19:39
프로그래밍/PHP
for 문은 while과 같은 루프입니다. for 구문은 다음과 같은 형식을 가집니다. for (expr1; expr2; expr3) statement for문의 동작 순서는 다음과 같습니다. expr1 이 무조건 한번 실행된 후에 expr2 조건을 검사합니다. expr2가 참이면 statement를 실행하고 statement가 모두 실행되면 expr3를 실행합니다. 만약 expr2가 거짓이라면 더 이상 statement를 실행하지 않고 for문을 빠져나옵니다. ( 뭔말인지 모르시겠죠? ^^;;;; ) 소스를 보시면 쉽게 이해하실 수 있을 것입니다. 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 나머지 세 ..
PHP 기초 문법 ::: 제어 구조 (if , while, do .. while)
2009. 3. 30. 19:25
프로그래밍/PHP
제어구조는 PHP의 흐름을 제어하는 구조입니다. PHP는 절차식 언어이기 때문에 프로그램의 흐름이 기본적으로 위에서 아래로 흐르게 됩니다. 이때 흐름을 거슬러서 위로 올라가거나 아니면 특정 부분을 건너뛰고 싶을 때, 이를 처리할 수 있는 제어 구조가 필요합니다. 제어구조는 프로그램의 핵심이므로 반드시 기억해두어야 합니다. if 문은 제어 구조의 가장 기초가 되는 부분입니다. 말그대로 만약 ~~ 이면 다음 내용을 실행하라는 것입니다. 1 2 3 4 5 6 7 8 소스에서 볼 수 있듯이.. if 구문은 if ( .... ) { .... } 와 같은 형식으로 사용합니다. 괄호안이 참인 경우 중괄호 안을 실행하게 되는 것이지요. 중괄호({})는 한 줄 이상의 구문을 수행하고자 할 때 사용하며 만약 수행할 구문이..