처음시작
9 . PHP 기본문법
스킨제작, 소스수정 등의 작업을 위해 기본적으로 알아야 할 PHP 기본문법 몇 가지를 나열합니다. PHP "완전 초보자" 를 대상으로 코드이해 차원의 기초적 내용을 작성한 것이니 해당되지 않는 분은 그냥 지나 치십시오.
PHP 편집기 추천 - (윈도우 메모장은 가급적 사용하지 마십시오.) ㆍ 에디트플러스(EditPlus) : 국내 제작 프로그램 중 가장 많이 사용됨 (권장) 울트라에디트(UltraEdit) : 국외 제작 프로그램 중 가장 많이 사용됨
PHP 출력문 기본 형태
  sample.php 소스가 웹부라우저 화면에 출력되기까지의 과정을 살펴보자.
  이것은 html 태그 내에 php 코드가 어떤 식으로 삽입되는지를 보여 주기 위한 예이다.

sample.php 원본소스 sample.php 가 생성해내는 html 태그 웹부라우저 출력 화면
<?
   // 앞에 '//' 가 붙여진 줄은 출력없음.

   $text1 = "안녕하세요?";
   $text2 = "반갑습니다.";
?>

<html>
  <body>

    출력시작합니다.<br><br>

    text1 : <?= $text1 ?><br>
    text1 : <? echo $text1 ?><br><br>

    text2 : <?= $text2 ?> <br>
    text2 : <? echo $text2 ?> <br><br>

   <font color=#0000ff>
   <?
      echo " $text1 <br>";
      echo " $text2 <br><br>";
   ?>
   </font>

  </body>
</html>
<html>
  <body>

    출력시작합니다.<br><br>

    text1 : 안녕하세요?<br>
    text1 : 안녕하세요?<br><br>

    text2 : 반갑습니다. <br>
    text2 : 반갑습니다. <br><br>

   <font color=#ooooff>
    안녕하세요? <br> 반갑습니다. <br><br>
   </font>

  </body>
</html>
출력시작합니다.

text1 : 안녕하세요?
text1 : 안녕하세요?

text2 : 반갑습니다.
text2 : 반갑습니다.

안녕하세요?
반갑습니다.
  [분석]  위 예에서 sample.php 원본소스 코드를 살펴보면 아래와  같은 일정한 규칙을 찾을 수 있다.
  ㆍ  // 으로 시작되는 라인은 주석문으로서 출력에 아무 영향을 주지 않는다.
  ㆍ  $text 와 같이 $ 로 시작되는 단어는 어떤 값을 저장하는 '변수' 이다.
  ㆍ php 코드는 <??> 사이에 들어간다.
  ㆍ <?= $abcd ?>$abcd 변수에 저장된 내용을 출력하라는 의미이다.
  ㆍ <? echo $abcd ?>$abcd  변수에 저장된 내용을 출력하라는 의미이다.


include 문
  Main php 파일에서 Sub php 파일을 불러들일 때는 include 문을 사용한다.
 아래는 main.php 에서 sub.php 를 include 문으로 삽입하여 출력되는 과정이다.
main.php 메인소스 웹부라우저 출력 화면

1.체크카드로 지금 바꾸세요.<br>
<? include "./sub.php"; ?>
3.다양한 혜택을 받으세요.


1.체크카드로 지금 바꾸세요.
2.현금카드의 완벽한 위조 방지.
3.다양한 혜택을 받으세요.

sub.php 소스       ↓↑

2.현금카드의 완벽한 위조 방지.<br>


변수 어떤 값을 저장하기 위해서는 변수라는 그릇을 사용한다. ㆍ 일반변수 : 1개의 독립된 값을 가지는 변수이다. 저장: $myname="홍길동"; 출력 : echo $myname ; 또는 <?= $myname ?> ㆍ 배열변수 : 한줄로 엮여진 변수들의 묶음이다. 저장: $myfamily = array(father=>'김철수' , mother=>'이영희' , me=>'김왕자' , sister=>'김공주'); 출력: echo $myfamily[father] ; 또는 <?= $myfamily[mother] ?>
함수
  어떤 기능이 내장된 명령어 또는 기능구현을 위한 코드 블록(function)을 의미한다.
   ㆍ 내장함수 - php 모듈로 자체 내장되어 있는 함수이다.
php 코드 출력결과
$string = "아름다운 세상";
echo strlen($string);
13
        strlen 라는 내장 함수의 속성에 의해 $string 변수의 문자열 길이가 계산되어 출력된 예이다.

   ㆍ function 함수 - 사용자에 의해 작성된 함수이다.
php 코드 출력결과
function plus_plus($int){
  $int2 = $int + 2;
  return $int2
}

echo plus_plus(214);
echo plus_plus(17);
216
19
        plus_plus 라는 function 함수에 의해 +2 가 계산된 값을 출력한 예이다.


제어문 ㆍif($strin == 'abcd') echo 'ok'; // 만약, $strin 변수의 값이 'abcd' 이면 'ok' 라고 출력하라. ㆍfor($i=1; $i<=10; $i++) echo 'ok'; // $i 가 10 이 될때까지 1씩 증가하면서 'ok' 를 반복 출력하라. ㆍwhile($i < 10){ echo 'ok'; $i=$i+1; } // $i 가 10 이 될때까지 1씩 증가하면서 'ok' 를 반복 출력하라. ㆍforeach($myfamily as $value) echo $value; // 배열분수 $myfamily 의 요소들을 차례대로 출력하라.
FORM 문서 => PHP변수 생성 html 의 Form 양식에서 입력한 데이타가 php 파일에서 변수로 생성되는 과정을 살펴보자.
form.html 소스 show.php 소스 폼 전송후 출력된 부라우저 화면
<form method=post action='./show.php'>
  이름 <input type=text name=myname value='홍길동'>
  별명 <input type=text name=mynick value='홍멍구'>
  메일 <input type=text name=mymail value='abc@red.com'>
  <input type=submit value='전송'>
</form>
나의 신상정보입니다.<br>
1. 내 이름은: <?=$myname?><br>
2. 내 별명은: <?=$mynick?><br>
3. 내 메일은: <?=$mymail?><br>
나의 신상정보입니다.
1. 내 이름은: 홍길동
2. 내 별명은: 홍멍구
3. 내 메일은: abc@red.com
[보충설명] 위와 같이 폼문서(html) 내의 입력필드 name 값이 php 파일에선 변수명이 되어 생성된다.
  또 $_POST['myname'] , $_POST['mynick'] , $_POST['mymail'] 형태의 배열변수로도 동시 생성된다.

링크URL(GET) => PHP변수 생성 http://abcd.co.kr/show.php?myname=홍길동 과 같은 링크URL 에 의한 GET 방식의 변수생성을 살펴보자.
link.html 소스 show.php 소스 링크 클릭후 출력된 부라우저 화면
<a href="/show.php?myname=홍길순&mynick=길순이&mymail=qwe@fgc.net">클릭하세요</a>
나의 신상정보입니다.<br>
1. 내 이름은: <?=$myname?><br>
2. 내 별명은: <?=$mynick?><br>
3. 내 메일은: <?=$mymail?><br>
나의 신상정보입니다.
1. 내 이름은: 홍길순
2. 내 별명은: 길순이
3. 내 메일은: qwe@fgc.net
[보충설명] 위와 같이 링크URL에 실려진 name 값이 php 에선 변수명이 되어 생성된다.
$_GET['myname'] , $_GET['mynick'] , $_GET['mymail'] 형태의 배열 변수로도 사용할 수 있다.



          copyrightⓒ : TECHNOTE INC , www.technote.co.kr