[강좌] php+mysql 게시판 만들기 #디-1
안녕하세요. 디망쉬입니다.
드디어 본격적인 강좌 시작이군요. 강좌의 시작이니만큼 쉬운 내용으로 가볍게 시작하겠습니다. :)
디. 기초 - a. php 는 어떤 모습일까.
간단히 결론부터 말씀드리면 php 는 c 언어와 비슷한 형태를 하고 있습니다. 정확히 말하면 c 언어 형태처럼 생긴 다른 언어들과 비슷합니다. 특히 perl 을 의식한건지 문자열 출력 함수도 echo 외에도 print 가 따로 존재하죠. 일종의 배려 같은거죠.
자~ 그럼 c 언어는 어떻게 생겼을까요? 예제를 보죠.
char hello[20]; hello = "hello dimanche"; printf ("%sn", hello); |
간단하죠? 위 소스가 맞는지는 모르겠군요. c 언어 안한지가 벌써. 긁적 긁적. 아마 맞을 겁니다. hello 라는 문자열 변수에다가 hello dimanche 를 넣고, 그것을 출력하는 거죠. 이걸 php 로 해볼까요?
$hello = "hello dimanche"; echo ("$hello"); |
에이. 너무 싱겁게 끝났죠? 하지만 잘 보시면 약간의 차이는 있어도 모습은 많이 비슷하다는 걸 느끼실 수 있을 겁니다.
그럼 여기서 php 의 문법을 공부해야.........겠는데, 이거 다루자니 영 귀찮군요. ^^; 그냥 약간 맛만 본 뒤 주의 사항만 보도록 하죠.
1) 명령어의 끝은 세미콜론(;) 으로.
사람에게 편지를 쓴다고 하죠.
사랑하는 망쉬에게 오늘 너의 모습을 몰래 보았어. 너를 부르려 했지만 가슴이 너무나 떨려서 차마 부를 수 없었어..... |
라는 팬레터(^^)가 있다고 하죠. 위 문장을 봤을 때 우리는 어디서부터 어디까지가 한 문장인지 쉽게 알 수 있습니다. 왜? 사람이니까.
하지만 컴퓨터는 알 지 못합니다. 컴퓨터는 위 문자을
사랑하는 망쉬에게 오늘 너의 모습을 몰래 보았어. 너를 ....
식으로 한 줄로 주욱 인식하죠. 여기서부터 여기까지가 한 문장이다! 라는 걸 알려주기 전 까지 컴퓨터는 한 문장으로 인식할 것입니다.
그래서 문장의 끝을 알리는, 더 정확히 표현하면 명령의 끝을 알릴 필요가 있으며, 그것의 역할을 세미콜론(;) 이 합니다. 자 그럼 컴퓨터가 이해할 수 있게 해보죠.
사랑하는 망쉬에게; 오늘 너의 모습을 몰래 보았어.; 너를 부르려 했지만 가슴이 너무나 떨려서 차마 부를 수 없었어;
|
입니다. 이해 가시나요? 어찌되었건 일부를 제외하고는 모두 세미콜론(;)으로 종료를 시켜줘야만 컴퓨터는 인식을 합니다.
그럼 그 일부는 무엇이냐. if 문, 반복문 등이 있습니다. 이건 차차 배워보도록 하구요. 이를 제외한 것들은 모두 세미콜론을 찍어야 한다고 외우세요. :)
2) 변수
무언가를 코딩하다보면 변수를 사용할 수 밖에 없습니다. 그럼 변수는 무엇이냐. 어떠한 값을 갖고 있기 위한 일종의 저장함입니다. 왜 이런게 필요할까요?
숫자를 더하는 프로그램이 있습니다. 사용자가 선택한 숫자를 더하는 거죠. 만약 사용자가 3 과 4 를 입력했다면 3 과 4 를 더하여 나온 값 7 을 출력해줍니다.
여기서 사용자가 항상 3 과 4 를 입력한다면 간단하게
이라고 해주면 됩니다. (echo 함수는 텍스트 출력 함수임다) 하지만 그런 것은 사람에게 전혀 필요가 없죠. 조금 더 효용성이 있다면 사용자가 무슨 수를 입력하더라도 더해줘야 한다는거죠. 하지만 사용자가 무슨 수를 입력할 줄 알고?
그럴 때는 사용자가 입력한 특정 값을 어딘가에 넣은 뒤 이것을 더하면 편할 것입니다. 수학 시간에 배운 x 와 y 를 예로 들어
x + y = z
라고 해보죠. x + y = z 그 자체는 아무런 의미가 없습니다. 하지만 x 에 3 이 들어가고 y 에 4가 들어가면 z 는 7이라는 값이 되는 일종의 공식이 되죠.
여기서 x, y, z 가 바로 변수입니다.
변수는 여러 가지 종류가 있습니다. 숫자형 변수, 문자형 변수, 배열 등. 하지만 php 에는 숫자형 변수와 문자형 변수의 구분이 없습니다. 변수에 어떤 값이 숫자가 들어가있으면 숫자형 변수고 문자가 하나라도 들어가 있으면 문자형 변수로 처리합니다. (어쩌면 모두 문자형 변수로 받을지도 --;) 하지만 c 언어는 숫자형, 문자형 등등 더 세밀하게 나뉘죠.
중요한 건 php 는 편하다면 더 편할 수 있는 변수의 타입(형태)가 없습니다. 단지 변수에 값만 넣어주면 되죠. 짠. 봅시다.
$cd = "cute dimanche"; $age = "21"; $tall = "173"; |
라는게 보이는군요. 저기서 $cd 와 $age 는 변수임다. 그런데 $cd 에는 문자열이 들어갔고, $age 와 $tall 에는 숫자가 들어갔군요. 그렇다면 $age 와 $tall 은 사칙연산(+ - x /)이 가능합니다. 왜? 둘 다 숫자형이니까.
어라? 변수 형태 설명하다가 변수를 어떻게 만드는지 나와버렸군요. 예이. php 는 어떠한 문자열이 변수인지 함수인지 같은 구분을 $ (달러표시)로 합니다.
라고 있을 경우 위의 $echo 는 echo 라는 이름의 변수이고, 아래의 echo 는 출력을 해주는 echo 함수임다. (물론 저런 내부 함수를 이름을 변수로 쓰는 것은 옳지 못한 습관이죠. 아니. 아예 에러나며 안될걸요)
그렇게 한 뒤 변수에 등호(=) 표시로 값을 넣어주면 되죠.
$test = "http://creple.com"; |
이렇게요. 여기서 잠깐. 프로그래밍 언어들은 공통적으로 = 를 '같다' 의미가 아닌 '대입/저장'의 의미로 사용합니다.
라고 되어 있다면 b 를 $a 에 넣어라~! 는 내용이죠. 대신 같다는 표시는 쌍등호(--;)인 == 로 합니다.
하면 $d 와 $e 는 같다는 의미죠. 잘 기억하시고 혼돈하지 마세요. ^^;
이번엔 배열을 알아보죠. 배열 역시 일반 변수처럼 선언해서 쓰면 됩니다. 대신 대괄호로 저장될 방번호를 적어주는 거 뿐이죠.
$arrays[0] = "I"; $arrays[1] = "am"; $arrays[2] = "cute"; $arrays[3] = "dimanche"; |
라고 되어 있다면 arrays 라는 배열의 0 번부터 3번 방에 위의 문자열들이 저장된거죠.
라고 한다면 화면에 cute 가 출력 될 것입니다. ^^; 배열의 필요성요? ^^ 게시판을 만들다보면 자연히 아시게 된답니다. 지금은 단지 배열은 자주 쓰인다고 보시면 됩니다.
3) 로 처리해줘야 한다.
php 뿐 아니라 다른 언어도 마찬가지인 경우입니다. " $ 같은 일부 문자들은 그 자체로 사용이 안됩니다.
일단 " 는 대부분의 함수 등에 쓰이거든요. 예를 들면
를 볼 때, 위의 것은 hello 를 echo 함수를 이용하여 출력해주는 것입니다. 저기서 " 가 붙죠? 만약에 "hello" 를 출력하고 싶다고 해서
라고 하면 parse error 뜹니다. ^^; 왜냐하면 " 와 " 사이에 문자열이 들어가야하는데 "게 또 있으면 사용자가 넣을 문자열을 다 넣고 완료한 걸로 처리하죠. 때문에 에러가 뜹니다. 이럴 때는
라고 해줘야 합니다.
과 $ 도 마찬가지입니다. 이것도 다른 것과 맞붙려 사용되는 것이기 때문에($만 보더라도 변수임을 구분할 때 쓰잖아요?) 를 붙여줘야 합니다. 그래서 를 출력할 때는 , $ 를 출력할 때는 $ 로 해줘야 하는 것이지요.
4) 열었으면 닫자.
매우 중요한 습관입니다. 뭐든지 사용하기 위해 열었으면 다 사용한 후 닫아줘야하죠. 파일 포인터를 열었건, { 를 열었건 간에 열었으면 닫아줘야 합니다. 또 예를 들죠.
if ($character == "dimanche") { echo "귀여워라 디망쉬 *^^*"; |
로 끝내면 에러 납니다. 이렇게 해줘야 하죠.
if ($character == "dimanche") { echo "귀여워라 디망쉬 *^^*"; } |
이해 가시나요? 그러니 { 를 열었으면 일단 } 로 닫고 안에다가 내용 추가하는 형식으로 코딩하는 습관을 들이세요. ^^;
5) 공백은 무시하는 건방진 넘이다.
php 뿐 아니라 대부분의 프로그래밍 언어들이 공백은 무시합니다. (심지어 HTML 조차도 --a) 정확히 말하자면 하나 이상의 공백은 무조건 무시한다는거죠. 예를 들면
echo("hello"); echo ("hello"); echo ("hello"); |
위 모두 똑같습니다. 이걸 이용하면 소스를 좀 더 보기 좋게 짤 수 있지요.
if ($mode == "list") {
if ($cate[0] == "kr") { echo ("화면 출력입니다"); }
else { echo ("Display"); }
} |
식으로요. :] 이거 의외로 중요합니다. 공백을 이용해서 소스를 보기 좋게 해놔야 나중에 버그를 고치거나 기능을 추가할 때 수월합니다.
자. 첫 편인 php 의 모습은 이 정도로 끝내겠습니다. 만약 이전에 perl 이나 c 언어를 공부해보셨던 분은 이 부분을 대충 대충 넘겼어도 고생하진 않겠죠. ^^; 하지만 프로그래밍 언어는 이번이 처음이라면 가급적 꼼꼼하게 읽고 기억하세요. ^^;
그럼 '디-2' 에서 뵙도록 하죠. :]
---------------------------- 함께하면 즐거운 사이트들 (-_-; 광고임 -_-;) http://game.creple.com/delthia http://creple.com http://coco.st ----------------------------
- ?! 디망쉬
|