요기보드3   필수기초 선택과목 요기보드 그누보드 로그인

P H P


첫번째 PHP 코드 작성

위의 몇 가지 php 기본원칙으로 만든 아주 간단한 php 코드를 한 번 보자구.
에디터에서 아래 내용을 그대로 입력해서 test.php 라는 이름으로 웹서버 폴더(www 또는 public_html)에 저장해.


<?php
	// 첫 번째 코드
	echo '안녕하세요' ;
	echo '반갑습니다.' . "여러분" ;
	echo 1 + 1 ;
?>

이제 아래와 브라우저에서 주소를 넣어서 작성한 파일을 실행해 봐.
브라우저의 주소 줄에 php 파일을 넣으면 그 php 코드를 실행되는 거야.
카페24에 'abcd' 라는 계정으로 웹호스팅을 신청했다면..

    http://abcd.cafe24.com/test.php

(UWAMP 나 XAMPP 로 사용중인 PC를 웹서버로 사용중이면 주소는 localhost 가 되겠지?)     http://localhost/test.php

결과는 브라우저에 다음과 같이 표시 될거야..
안녕하세요반갑습니다. 여러분2

응? 그런데 줄이 다 붙어 한 줄로 나왔네?
기대했던 결과가 아니지? 그래도 1+1 같은 경우 계산 결과가 2로 나오기는 했어.
이렇게 나온 이유는 브라우저는 읽은 문서를 html 문서로 생각하기 때문이야.
html에서는 <br>이나 <p>, <div> 같은 태그가 없으면 줄 바꿈은 다 무시하고 출력하잖아.

잠깐! 결과가 이상하면?

1. 결과가 다음과 같이 이상하게 보일 수도 있어. 뭔가 나오기는 했는데 한글이 전혀 알아볼 수 없는 경우지.
�ݰ����ϴ�.' . "������2

이것은 지금 저장한 php 문서의 한글코드를 브라우저에서 몰라서 그런 거야.
앞서 html 공부하면서 utf-8 euc-kr 공부한 기억나지? 딱 그 현상인 거야.
에디터에서 다시 문서를 부른 뒤 저장형식을 utf-8로 해서 저장하고 브라우저에서 다시 보면 한글은 제대로 보일 거야.

2. Not Found 또는 Error 404 객체 없음
이 에러는 브라우저 주소란에 쓴 폴더나 파일이 없다는 에러야.
브라우저의 주소와 파일명을 다시 확인해 봐.

3. 사이트에 연결할 수 없음 localhost에서 연결을 거부했습니다.
이 에러는 localhost라는 주소를 못 찾겠다는 뜻이야. 즉, 서버가 가동 중이 아니라는 뜻이지.
왜냐하면, 브라우저는 PHP의 명령을 모르고 오직 Html 명령만 알아듣기 때문이지.

4. Parse error: syntax error, …line 4
이런 에러는 php 명령이 뭔가 잘못되었다는 뜻이야.
따옴표 또는 echo 줄 끝에 세미콜론(;)을 빼먹지 않았는지, 이중으로 잡혔는지 체크해 봐. 이 명령은 아마 두고두고 자주 만날 거야.

아래와 같이 코드를 수정하고 다시 실행해 보자구.


<?php
	// 첫 번째 코드
	echo '안녕하세요<br>' ;
	echo '반갑습니다.' . " 여러분<br>" ;
	echo 1 + 1 ;
?>

어때? 이제 제대로 줄이 나뉘어 보이지?
html의 줄 바꿈 태크인 <br>까지 넣어서 코드를 만든 거야.
두 번째 echo 명령에는 문자열+문자열을 만들기 위해 연결기호 마침표(.)를 사용한 것을 볼 수 있어.

이런 의심이 들지도 몰라. “왜 이렇게 복잡하게 하는 거야? 브라우저를 만드는 회사에서 브라우저에서 Html뿐만 아니라 PHP 명령도 해석할 수 있게 만들면 되는 거 아냐?”
좋은 얘기야. 그런데 아마 웹프로그램 언어가 오직 PHP 하나만 있다면 당연히 그렇게 되었을지도 몰라.
그런데 웹언어에는 ASP, JSP, Python, Perl… 등 수많은 언어들이 있어.
브라우저가 이 모든 언어들까지 다 해석할 수 있게 만들려면 브라우저의 덩치가 엄청나게 커지지 않겠어?
결국, 브라우저는 Html과 CSS만 충실히 해석하는 역할을 하고, 나머지 프로그램 언어들은 각자 나름대로 자기들의 언어를 해석하는 엔진을 통해서 명령에 대한 결과를 Html로 브라우저에게 보내 주는 방식으로 발전한 거야.
이해가 좀 되지?


목차제 목조회
129
132
127
113
148
106
111
99
102
107
114
121
111
116