2014년 12월 31일 수요일

php 간단 일기장 - 요구사항 정의

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 간단 일기장 - 요구사항 정의

개인용 마이크로 블로그를 만들 예정이다.

간단하게 기록하는 용도. 어디서든 접속해서 일기를 쓸 수 있도록.

일기장이기 때문에 타인에게 노출되는 일은 없도록 한다.


기능 목록
* 로그인
* 글목록
* 글쓰기
* 글수정
* 글삭제

네가지의 기능으로 이루어진다.

하나의 글은 [내용]과 [쓴 날짜] 로 이루어진다.


데이터 베이스

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


데이터 베이스

사용자가 입력한 정보를 장기간 보관하기 위한 방법이다.

데이터를 구조화시켜서 저장하기 위한 방법 중 하나이다.

관계형 데이터베이스

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


관계형 데이터베이스

데이터를 속성의 집합으로 보고, 이러한 속성의 집합을 테이블이라는 구조로 표현하는 방법.

데이터의 종류가 여러개일 경우 각각 속성이 다르므로 테이블이 여러개가 나올 수 있다.

이렇게 테이블이 여러개 나올 때 각 테이블의 데이터가 어떤식으로 관계를 맺는가.. 를 정의할 필요가 있다. 이처럼 데이터 집합이 서로 어떤 관계가 있는지를 정의하고 사용하는 데이터 관리 방식을 관계형 데이터베이스라고 한다

mysql 이란

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


mysql 이란

RDBMS (Relational DataBase Management System) 의 종류 중 하나.

기본적으로 무료이나, 배포에 대해서는 오라클에 돈을 지불해야 한다.


웹서버와 마찬가지로 데이터를 관리하기 위해서는 데이터 관리 프로그램에게 명령을 내릴 필요가 있다.

데이터 관리 프로그램은 항상 명령을 기다리고 있다가 무언가 명령이 떨어지면 실행을 해야 한다.
따라서 mysql 을 비롯하여 기타 DBMS(DataBase Management System) 들은 늘 대기상태에 있어야 한다.


dbms의 구조

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


dbms의 구조

데이터베이스 매니지먼트 시스템(DMBS)은 아래와 같은 구조를 가진다.
DBMS >> 데이터베이스 여러개 >> 테이블 여러개
  • DBMS 는 여러개의 데이터베이스를 가진다.
  • 각각의 데이터베이스는 여러개의 테이블을 가진다.
  • 각각의 데이터베이스나 테이블은 사용자 별로 권한을 가진다.

phpmyadmin 을 이용해서 mysql 데이터베이스 만들기

 이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!

phpmyadmin 을 이용해서 mysql 데이터베이스 만들기

phpmyadmin -> 데이터베이스 -> 새 데이터베이스 만들기 ->
이름 : [지을이름]
Collation : utf8_general_ci

database table

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database table

데이터를 넣기 위한 통의 구조를 정의하는 것.

하나의 테이블은 열과 행으로 이루어진다.

행은 데이터를 구분하는 속성을 의미하고, 열은 데이터 집합을 의미한다.


엑셀의 시트 하나를 떠올리면 이해하기 쉽다.

database one to one (1 : 1) 관계

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database one to one (1 : 1) 관계

여러개의 테이블이 있을 때 기준이 되는 테이블의 Row 하나와, 또다른 테이블의 Row 하나가 정확히 매칭되는 관계.

자주 사용되는 관계는 아니므로 크게 신경쓸 필요는 없다.


이런 경우에는 테이블을 나누지 않고 하나의 테이블에 컬럼으로 설계한다.

database one to many (1 : n) 관계

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database one to many (1 : n) 관계

기준이 되는 데이터 row가 1개이고, 이에 속한 데이터가 1개 이상이 될 수 있을 때 이어지는 관계.

예를 들어서 포스팅과 댓글이라고 하면, 포스팅 1개에 댓글은 0개부터 수만개까지 다양하게 달릴 수 있다.
이때 포스팅이 one, 댓글이 many 이다.

database many to many (n : m) 관계

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


databas many to many (n : m) 관계

기준이 되는 데이터 row가 1개 이상이고, 이에 속한 데이터 또한 1개 이상이 될 수 있을 때 이어지는 관계.

예를들어서 포스팅과 태그의 경우, 하나의 포스팅에 여러개의 태그가 달릴 수 있으며 태그 또한 여러개의 포스팅에 분산되어 있을 수 있다.
이렇게 서로 다수의 항목을 가질 수 있을 때 many to many 라고 한다.

본질적으로 RDBMS 는 many to many 를 지원하지 않는다. 따라서 many to many 를 구현하기 위해서는 one to many 를 두개 이어붙이게 된다.


예를들어 포스팅과 태그라고 할때
포스팅 테이블 태그 테이블
* 포스팅_태그 테이블
이렇게 3개 테이블을 정의하고, 포스팅_태그 테이블에서 포스팅과 태그의 관계를 이어붙이게 된다.

database select query

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database select query

테이블의 데이터를 조회하고 싶을 때 사용한다.

형식
select [* | 컬럼명들] from [테이블이름]
<where> [조건]
<order by> [정렬]

database insert query

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database insert query

테이블에 데이터를 넣기 위한 방법.

형식
insert into [테이블명] (컬럼이름들) values (컬럼에 넣을 값들)

database update query

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database update query

테이블의 데이터를 수정하고 싶을 때 사용한다.

형식
update [테이블이름] set [키1]=[값1], [키2]=[값2] ...
where [조건절]

database delete query

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database delete query

데이터를 삭제하고 싶을 때 사용한다.


형식
delete from [테이블이름]
where [조건]

database join query

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database join query

테이블을 여러개 이어붙이고 싶을 때 사용한다.

기본적으로 select 쿼리의 확장형이다.



형식
select
[컬럼이름]
from
[테이블1]
inner join
[테이블2]
on [테이블1과 테이블2가 연결되는 조건]
where [전체조건]
order by [정렬]

database 집합

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


database 집합

데이터베이스는 기본적으로 '집합'을 다루는 시스템이다.
즉 조건이 없다면 모든 데이터에 명령이 미치게 되며,
조건이 있다면 조건에 맞는 데이터에 명령이 미치게 된다.

2014년 12월 30일 화요일

php 세션

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 세션

쿠키는 정보를 클라이언트에 보관한다.
반면 세션은 정보를 서버 안에 보관한다.

접속하고 있는 클라이언트의 정보를 서버에서 관리한다.


원리
쿠키는 클라이언트(웹브라우저) 에 '정보'를 남겨둔다.
반대로 세션은 클라이언트에 누구인지 식별할 수 있는 '고유키'만 남겨둔다.
서버는 이러한 '고유키' 를 클라이언트로부터 전달받아서 해석한 후 '정보'를 가져온다.


세션 사용하기.

session_start ()
 
세션은 http 프로토콜의 헤더 정보에 설정되므로 
본문 출력이 있기 전에 session_start 를 해 줘야 한다.


세션 가져오기
$_SESSION['세션이름']
형태로 설정하고 가져올 수 있다.
 
 

php 쿠키

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 쿠키

http의 무상태성을 극복하기 위한 방법이다.

클라이언트에 간단한 메모를 해 두고 서버에서 사용하기 위함이다.

 접속하고 있는 클라이언트의 정보를 클라이언트(웹브라우저) 에서 관리한다.


쿠키 설정

bool setcookie ( string $name [, string $value [, int #expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )



* name - 쿠키 이름, 이름을 만들때에는 공백이나 마침표는 안되며, 대소문자를 구분함
* value - 쿠키 값
* expire - 쿠키 만료시간, 쿠키 사용이 끝나는 시간을 초단위로 설정, 1일후 만료 할경우: time()+86400
* path - 지정된 경로에 있을때에만 유효한 쿠키로 사용, /로 설정하면 사이트 전체에 쿠키가 노출됨
* domain - 지정된 도메인에 있을때에만 유효한 쿠키로 사용
* secure - 값이 1인 경우 HTTPS 접속을 통해서만 전송되어야 함

 
 
쿠키설정 예시
 
setcookie('sampleCookie', 'hahaha');


쿠키 가져오기

$_COOKIE['쿠키이름'];
 

웹 서버에서 동시접속의 개념

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


웹 서버에서 동시접속의 개념

서버는 1개여도 동시접속자는 많을 수 있다.

기본적으로 http 는 무상태성을 띄는 프로토콜이며, 클라이언트가 서버로 요청을 한 다음 요청한 결과를 받으면 연결이 끊어지는 형태이다.

 따라서 서버는 각 접속자가 들어올 때마다 누구인지 식별할 수 있는 방법이 필요하다.

php 페이지 이동하기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!

php 페이지 이동하기

헤더에 정의한다.

예시

<?php
header("Location: 2ndpage.php");
?>

2ndpage.php 로 이동하게 된다.



형식
header("Location: [이동할 주소]");


주의
header는 다른 '출력' 이 있기 전에 나와야 한다.

php include

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php include

여러 파일에 각각의 기능이 있을 경우 다른 파일을 불러오는 기능.



include ("[불러올 파일 경로]");

형식으로 사용한다.



include는 파일을 불러오다가 오류가 나도 프로그램이 멈추지 않고 경고만 내보낸다.


비슷한 기능
* include_once  :파일을 이미 불러왔으면 다시불러오지 않는다.
* require : 파일을 불러오다가 오류가 나면 프로그램이 멈춘다. 파일을 여러번 부를 수 있다.
* require_once : 파일을 불러오다가 오류가 나면 프로그램이 멈춘다. 파일을 한번만 부른다.

php 서버로 값 전달하기 - Post

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 서버로 값 전달하기 - Post

html 안에서 특정한 값을 넣어서 서버로 전달하는 기능.
주소창에 입력한 데이터가 노출되지 않고, 데이터를 전송하는 데 길이 제한이 없다.

예제
<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <form action="frmsubmit.php" target="_self"  method="post">
      name : <input type="text" name="name" />
      <br />
      age : <input type="text" name="age" />
      <br />
      gender : <input type="text" name="gender" />
      <br />
      <input type="submit" value="submit form" />
    </form>
  </body>
</html>


이 html 은 name, age, gender 를 입력받아서 frmsubmit.php 라는 페이지로 전송한다.

php 서버에서 값 받기 - Post

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 서버에서 값 받기 - Post

html 폼 안에서 넣은 값을 클라이언트에서 전송하면 그 값을 받아 서버에서 처리하기 위해 있는 기능

예제
<?php
  $name = $_POST['name'];
  $age = $_POST['age'];
  $gender=$_POST['gender'];


  echo $name;
  echo '<br />';
  echo $age;
  echo '<br />';
  echo $gender;

?>


$_POST[이름]
형식으로 html 태그에서 name=[이름] 형식으로 된 값들을 처리한다.

php 서버로 값 전달하기 - Get

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 서버로 값 전달하기 - Get

주소창에 특정한 값을 넣어서 프로그램에 전달하는 것


http://php.example.com?name=tom&age=13&gender=male
이라고 한다면
name=tom
age=13
gender=male
이부분이 get 파라미터가 됨.
[주소]?[파라미터이름1]=[파라미터값1]&[파라미터이름2]=[파라미터값2]&[파라미터이름3]=[파라미터값3]
형식이며
파라미터의 시작은 ?, 파라미터 잇는 부분은 &로 시작한다.

php 서버에서 값 받기 - Get

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 서버에서 값 받기 - Get

주소창으로 특정 값이 들어왔을 경우 이 값을 처리하기 위한 기능

주소창에
?name=tom&age=13&gender=male
이라는 파라미터가 들어왔다면

예제
<?php
  $name = $_GET['name'];
  $age = $_GET['age'];
  $gender=$_GET['gender'];


  echo $name;
  echo '<br />';
  echo $age;
  echo '<br />';
  echo $gender;

?>


$_GET['파라미터이름'] 으로 get 파라미터를 받을 수 있다.

php 함수 결과값

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 함수 결과값

함수는 특정한 일을 처리한 다음 결과값을 돌려줄 수 있다.

결과값을 돌려주는 명령어는
return [결과값];
이다.


예제

function concat($argA, $argB)
{
    $ret = $argA . $argB;

    return $ret;
}

$a = 'good';
$b = 'morning';
$result = concat($a, $b);

echo $result;
 
 
함수내용
concat 이라는 함수를 정의한다.

concat 함수는 $argA, $argB 라는 파라미터를 받는다.
concat 함수는 $argA와 $argB 를 . 연산자로 이어붙인 값을 $ret이라고 이름붙인다.
concat 함수는 $ret 의 결과값을 돌려준다. 


코드설명
good 이라는 문자열을 $a 라고 이름붙인다.
morning 이라는 문자열을 $b 라고 이름붙인다.
$a와 $b 를 concat 해 라고 명령한다.

함수는 $a의 값 good 과 $b의 값 morning 을 이어붙인 값을 돌려준다.

concat 함수가 돌려준 값을 $result 라고 이름붙인다.

$result 를 출력한다.

php 함수 기본

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 함수 기본

하나의 일을 하는 행위를 묶어서 이름을 붙이는 것


형식


function [함수이름]([파라미터1], [파라미터2] ....)
{
    [실행할 내용]
}
 
 
예제
 
<?php
    function hello()
    {
        echo 'hello world';
        echo '<br />';
        echo 'hello earth';
        echo '<br />';
        echo 'hello space';
        echo '<br />';
    }

    hello();
?>
 
 
코드 설명
 
hello world
hello earth
hello space
라는 글자를 화면에 보여주는 '행위' 를 정의하고 hello 라고 이름붙임.
hello 라는 행위를 해
라고 명령함.

php 함수 파라미터

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 함수 파라미터

함수는 파라미터를 받을 수 있음.
이 파라미터는 외부에서 함수로 주입되어 함수 내부에서 사용하게 된다.

예제
<?php
    function hello($target)
    {
        echo "hello $target";
        echo '<br />';           
    }

    hello('world');
    hello('earth');
    hello('space');
?>


코드설명

$target 이라는 파라미터를 받는 함수를 정의하고 hello 라고 이름붙임.

hello('world') 라고 명령하면
hello 함수의 $target 에 'world' 가 들어가면서 함수 실행이 시작됨.
$target 의 값이 world 이므로 "hello $target" 은 "hello world" 로 치환됨.
"hello world" 를 출력해
가 됨.

줄바꿈 출력

hello('earth') 라고 명령하면
hello 함수의 $target 에 'earth' 가 들어가면서 함수 실행이 시작됨.
$target 의 값이 earth 이므로 "hello $target" 은 "hello earth" 로 치환됨.
"hello earth" 를 출력해
가 됨.

줄바꿈 출력

hello('space') 라고 명령하면
hello 함수의 $target 에 'space' 가 들어가면서 함수 실행이 시작됨.
$target 의 값이 space 이므로 "hello $target" 은 "hello space" 로 치환됨.
"hello world" 를 출력해
가 됨.

줄바꿈 출력

php foreach 반복문 연관배열일 때 사용법

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php foreach 반복문 연관배열일 때 사용법

반복문 중 하나.
집합에서 집합의 요소를 하나씩 빼서 블럭안에서 사용한다.

예시

<?php
  $foobar = array('first'=>'foo','second'=>'bar','third'=>'lalala');
  foreach($foobar as $fbkey=>$fbval)
  {
      echo $fbkey;
      echo $fbval;
      echo '<br />';

  }
?>

코드설명

foo, bar ,lalala 를 묶어서 $foobar 라는 이름을 붙임.

$foobar의 이름과 값을 하나씩 빼서 $fbkey, $fbval 이라는 변수로 이름붙임.

$fbkey 의 이름을 출력.
$fbval 의 값을 출력

값 변화 보기.

$foobar 의 첫번째 요소의 이름을 빼서 $fbkey 라고 이름붙임.
$foobar 의 첫번째 요소의 값을 빼서 $fbval 이라고 이름붙임.
$fbkey 의 이름 'first' 를 출력
$fbval 의 값 'foo' 를 출력
줄바꿈 출력

foo 다음 요소가 있나 살펴봄. bar 가 있으므로 계속 실행.

$foobar 의 두번째 요소의 이름을 빼서 $fbkey 라고 이름붙임.
$foobar 의 두번째 요소의 값을 빼서 $fbval 이라고 이름붙임.
$fbkey 의 이름 'second' 를 출력
$fbval 의 값 'bar' 를 출력
줄바꿈 출력

bar 다음 요소가 있나 살펴봄. lalala 가 있으므로 계속 실행.

$foobar 의 첫번째 요소의 이름을 빼서 $fbkey 라고 이름붙임.
$foobar 의 첫번째 요소의 값을 빼서 $fbval 이라고 이름붙임.
$fbkey 의 이름 'third' 를 출력
$fbval 의 값 'lalala' 를 출력
줄바꿈 출력

lalala 다음 요소가 있나 살펴봄. 아무것도 없으므로 블럭 종료.


형식
foreach ([반복할 값] as [빼낸 요소의 이름에 붙일 변수 이름] => [빼낸 요소의 값에 붙일 변수 이름])
{
    [내용]
}

php while

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php while

반복문 중 하나.
조건을 만족하는 동안 반복

예시
<?php
    $i = 0;
    while(true)
    {
        if ($i > 10)
        {
            break;
        }

        echo $i;

        $i++;
    }
?>


 간단한 설명

0이라는 값을 $i 라고 이름붙임.

true일 동안 블럭을 반복

만약 $i의 값이 10보다 크면 블럭을 빠져나가기.

$i 의 값을 1 증가.



코드 설명

값 변화 보기.

$i = 0

true 인가 판단해봄.
true == true 이므로 블럭 시작.

$i > 10 => 0 > 10 거짓이므로 if 블럭은 실행하지 않음.

$i의 값 0 을 출력.

$i 의 값을 1 증가.

다시 while 로 돌아와서 조건이 맞나 살펴봄.
true == true 이므로 블럭 시작.

$i > 10 => 1 > 10 거짓이므로 if 블럭은 실행하지 않음.

$i의 값 1 을 출력.

$i 의 값을 1 증가. $i 는 2가 됨.

.... 중략.

$i > 10 => 10 > 10 거짓이므로 if 블럭은 실행하지 않음.

$i의 값 10 을 출력.

$i 의 값을 1 증가. $i 는 11 이 됨.

다시 while 로 돌아와서 조건이 맞나 살펴봄.
true 는 true이므로 블럭을 실행함.

$i > 10 => 11 > 10 참이므로 if 블럭이 실행됨.
break 문을 만났으므로 while문을 빠져나감.

실행종료.


형식

while (조건식)
{
   내용
}

php foreach 반복문 일반배열일 때 사용법

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php foreach 반복문 일반배열일 때 사용법

반복문 중 하나.
집합에서 집합의 요소를 하나씩 빼서 블럭안에서 사용한다.

예시.
<?php
  $foobar = array('foo','bar', 'lalala');
  foreach($foobar as $fb)
  {
      echo $fb;
      echo '<br />';

  }
?>


코드 설명
foo, bar ,lalala 를 묶어서 $foobar 라는 이름을 붙임.

$foobar의 값을 하나씩 빼서 $fb 라는 변수로 이름붙임.

$fb 의 내용을 출력.

값 변화 보기.

$foobar 의 첫번째 요소인 'foo' 를 빼내서 $fb 라고 이름붙임.
$fb 의 값인 foo 를 출력
줄바꿈 출력

foo 다음 요소가 있나 살펴봄. bar 가 있으므로 계속 실행.

$foobar 의 첫번째 요소인 'bar' 를 빼내서 $fb 라고 이름붙임.
$fb 의 값인 bar 를 출력
줄바꿈 출력

bar 다음 요소가 있나 살펴봄. lalala 가 있으므로 계속 실행.

$foobar 의 첫번째 요소인 'lalala' 를 빼내서 $fb 라고 이름붙임.
$fb 의 값인 lalala 를 출력
줄바꿈 출력

lalala 다음 요소가 있나 살펴봄. 아무것도 없으므로 블럭 종료.


형식

foreach ([반복할 값] as [빼낸 요소에 붙일 이름])
{
    [내용]
}

php for 반복문

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php for 반복문

기본적인 반복문 중 하나.
초기값, 조건, 블럭실행 후 실행할 명령을 설정한다.

예시.
<?php
  $foobar = array('foo','bar', 'lalala');
  $foobarcount = count($foobar);
  for ($i=0;$i<$foobarcount; $i++)
  {
      echo $i;
      echo $foobar[$i];           
      echo '<br />';
  }
?>

코드 해석.

  foo, bar, lalala 를 묶어서 $foobar 라는 이름을 붙임.
  $foobar 의 갯수를 가져와서 $foobarcount 라는 이름을 붙임. 총 3개이므로 $foobarcount 는 3이 됨.

  for 문 블럭은 여러번 반복하기 때문에 지금 어디를 반복중인지 알 수 있는 반복횟수 징표가 필요함.
  초기값: 0으로 설정하고 반복 징표에 $i 라는 이름을 붙임.
  조건: 반복횟수가 $foobarcount 의 값보다 작을때만 블럭 안을 실행
  블럭실행 후 실행할 명령 : 블럭이 한번 실행될때마다 반복징표 $i 를 1씩 증가시킴.

  조건을 만족하는 동안 블럭의 내용이 실행됨.
  반복징표를 출력
  $foobar의 $i 번째 값을 출력
  줄바꿈 출력.

값 변화 보기.

조건식을 평가해 본다.
$i<$foobarcount => 0 < 3 인가 평가해봄 => 참이므로 블럭 실행

첫번째 반복
$i = 0
$foobar 의 [0]번째 값 가져오기 => foo

블럭이 끝나면 증가값을 증가한 다음 조건식을 평가해 본다.
$i++ => $i = $i + 1 => $i 는 0에서 1로 변함.
$i<$foobarcount => 1 < 3 인가 평가해봄 => 참이므로 블럭 다시 실행.

두번째 반복
$i = 1
$foobar 의 [1] 번째 값 가져오기 => bar

블럭이 끝나면 증가값을 증가한 다음 조건식을 평가해 본다.
$i++ => $i = $i + 1 => $i 는 1에서 2로 변함.
$i<$foobarcount => 2 < 3 인가 평가해봄 => 참이므로 블럭 다시 실행.

세번째 반복
$i = 2
$foobar 의 [2] 번째 값 가져오기 => lalala

블럭이 끝나면 증가값을 증가한 다음 조건식을 평가해 본다.
$i++ => $i = $i + 1 => $i 는 2에서 3로 변함.
$i<$foobarcount => 3 < 3 인가 평가해봄 => 거짓이므로 블럭 반복 종료


형태

for (반복징표변수=초기값, 조건, 블럭실행 후 실행할 명령)
{
    실행블럭
}

php elseif

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php elseif


if 문이 실행되지 않으면 다른 비교를 해야 할 때 사용함.
아니라면 만약
이라는 의미

<?php
  $a = 10;
  $b = 50;

  if ($a > $b)
  {
      echo 'a is larger than b';
  }
  elseif ($a == $b)
  {
      echo 'a is equal b';
  }
  else
  {
      echo 'a is less then b';
  }
?>



10이라는 숫자를 $a라고 이름붙임.

50이라는 숫자를 $b라고 이름붙임.

만약 $a의 값이 $b 의 값보다 크다면
a is larger than b
를 보여줘

아니라면 만약 $a의 값이 $b의 값보다 크다면
a is equal b
를 보여줘
그렇지 않으면
a is less then b
를 보여줘

php 반복문

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 반복문

반복 가능한 집합을 하나씩 꺼내서 각각의 처리를 하기 위한 기능

비슷한 일을 반복시킬 때 사용한다

for, foreach, while, do while
의 네가지 종류가 있다.

php else

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php else

if 문의 조건이 맞지 않을 때 실행됨.
그렇지 않으면
이라는 의미

<?php
  $a = 10;
  $b = 50;

  if ($a > $b)
  {
      echo 'a is larger than b';
  }
  else
  {
      echo 'a is less then b';
  }


?>


10이라는 숫자를 $a라고 이름붙임.

50이라는 숫자를 $b라고 이름붙임.

만약 $a의 값이 $b 의 값보다 크다면
a is larger than b
를 보여줘

그렇지 않으면
a is less then b
를 보여줘

php 논리연산

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 논리연산


$a and $b
$a && $b
$a도 참이고 $b 도 참이다.
$a or $b
$a || $b
$a가 참이거나 $b가 참이다.
!$a
$a는 참이 아니다. (not)
 

php 비교식

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 비교식

if 조건 안의 결과는 boolean 이어야 한다


$a > $b
$a가 $b보다 크다
$a >= $b
$a가 $b보다 크거나 같다
$a < $b
$a가 $b보다 작다
$a <= $b
$a가 $b보다 작거나 같다
$a == $b
$a와 $b가 값이 같다.
타입은 자동 캐스팅된다.
$a === $b
$a와 $b가 값과 타입이 같다.
$a != $b
$a <> $b
$a와 $b가 값이 다르다.
타입은 자동 캐스팅된다.
$a !== $b
$a와 $b가 값이 다르거나 타입이 다르다.

php if

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php if


프로그램이 실행될 때 조건을 검사해서 각각 다른 처리를 하기 위한 기능.
만약에 ~ 라는 의미이다.

예시.
<?php
  $a = 10;
  $b = 5;

  if ($a > $b)
  {
      echo 'a is larger than b';
  }
?>


10이라는 숫자를 $a라고 이름붙인다.
5라는 숫자를 $b라고 이름붙인다.
만약 $a 의 값이 $b의 값보다 크면
a is larger than b 라는 글자를 출력해라.



if 문의 형태

if (조건) 
{
    [처리할 내용]
}

php . 연산자

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php . 연산자

. 연산자는 문자열 두개를 이어붙이는 역할을 한다.

예제. 

<?php
$a = 'good';
$b = 'morning';
$result = $a . $b;
echo $result;

?> 

good 이라는 문자열을 $a라고 이름붙인다.
morning 이라는 문자열을 $b라고 이름붙인다.
$a의 값 good 과 $b의 값 morning 을 . 으로 이어붙인다.
이어붙인 값에 $result 라고 이름붙인다.
$result 의 값 goodmorning 을 출력한다.

php ++, -- 연산자

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php ++, -- 연산자

++, -- 연산자는 축약형임.

$a++; : $a = $a + 1;
$b-- : $b = $b - 1;

과 동일함.

예제.
<?php
    $a = 1;
    $a++;   
    echo $a;

    echo '<br />';
    $b = 10;
    $b--;
    echo $b--;
?>


1이라는 숫자에 $a라는 이름을 붙임.
$a를 1 증가시킴.
$a의 값을 보여줌

한칸 띄기.

10 숫자를 $b라고 이름붙임.
$b에서 -1을 함
$b의 값을 출력

php 타입이 다른 숫자간의 사칙 연산 규칙

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 타입이 다른 숫자간의 사칙 연산 규칙


타입이 다른 숫자간의 연산 예제.

integer + interger = integer
10 + 15 = 25

integer + float = float
10 + 15.7 = 25.7

float + integer = float
20.3 + 10 = 30.3

float + float = float
1.1 + 2.2 = 3.3

즉 더하는 수 중 하나라도 float 이 있으면 float 형이 되고,

둘 다 integer 일때는 integer 형이 된다.

php 사칙 연산 + - * /

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 사칙 연산 + - * /

두 값을 더하고 빼고 곱하고 나누는 연산자.


정수형 더하기 예제.
<?php
    $a = 10;
    $b = 15;
    $result = $a + $b;   
    echo $result;

?>


10이라는 정수를 $a라고 이름붙임.
15라는 정수를 $b 라고 이름붙임.
$a의 값 10과 $b의 값 15를 더해서 $result 라고 이름붙임.
$result의 값을 출력

결과 25

변수의 유효범위

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


변수의 유효범위

각각의 변수는 각각의 블럭 내에서만 유효하다.

전역 변수의 경우 어디서든 사용 가능하지만,
내장 전역 변수가 아닌 이상 global 로 함수 시작 전에 선언을 해 줘야 한다.

php 블럭

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 블럭

블럭은 하나의 범위를 나타낸다.

{ 로 시작하며, } 로 끝난다.

php 변수 타입 - 연관배열

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - 연관배열

값 여러개를 이름을 붙여서 묶는 것

<?php
  $foobar = array('firstname'=>'foo','lastname'=>'bar');
  echo $foobar['firstname'];
  echo '<br />';
  echo $foobar['lastname'];
?>

풀어 설명하면 아래와 같다.

'foo' 라는 문자열과 'bar '라는 문자열을 묶음.
foo 라는 '값' 을 식별하기 위해서 'firstname' 이라고 부르기로 이름붙임.
bar 라는 '값' 을 식별하기 위해서 'lastname' 이라고 부르기로 이름붙임.
이 묶음에 $foobar 라는 이름을 붙임.
$foobar['firstname'] 이라고 하면 , $foo 안에 있는 값 중 식별할 수 있는 이름이 'firstname' 인 '값'을 가져오라는 의미임.
따라서 echo $foobar['firstname']; 이라고 하면
$foo 안에 있는 값 중 'firstname' 이라고 이름붙여진 '값' 을 '
* 보여줘' 가 됨.
마찬가지로 echo $foobar[1]; 이라고 하면 , $foo 안에 있는 값 중 'lastname' 이라고 이름붙여진 값'을 보여줘라는 의미임.
echo '<br />' 은 <br /> 이라는 글자를 출력해 .. 라는 의미.
<br /> 은 html 에서 줄 바꿈을 의미함.



전체 라인은 이런 아래와 같은 의미가 됨.

    foo 라는 문자열을 'firstname' 이라고 부르기로 약속함.
    bar 라는 문자열을 'lastname' 이라고 부르기로 약속함.
    이 두개를 묶어서 $foobar 라는 변수 이름을 붙임.
    ** 즉 'firstname' 과 'lastname' 은 $foobar 라는 변수 안에서만 유효한 이름임.
    $foobar 라는 이름 안에서 'firstname' 이라고 약속된 '값'을 보여줘.
    줄바꿈을 해줘.
    $foobar 라는 이름 안에서 'lastname' 이라고 약속된 '값'을 보여줘.

최종 결과물은

foo
bar

가 된다.

php null

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php null

아무것도 가지지 않는다는 의미이다.

php 변수 타입 - 배열

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - 배열


값 여러개를 순서대로 묶는 것이다.


<?php
  $foobar = array('foo','bar');
  echo $foobar[0];
  echo '<br />';
  echo $foobar[1];
?>


* array 라는 것은 '묶음'을 만들기 위한 '규칙'이다.

아래는 위 코드가 실행되는 규칙을 설명한다.

* 'foo' 라는 문자열과 'bar '라는 문자열을 묶음.  [[[ array('foo','bar');  ]]]

* 이 묶음에 $foobar 라는 이름을 붙인다.[[[ $foobar = ]]]

* $foobar 안에는 '값'이 '여러개' 있기 때문에 하나하나 구별할 수 있는 방법이 필요하다.
  $foobar[0] 이라고 하면 , $foo 안에 있는 값 중 [0]번째 '값'을 가져오라는 의미이다.
  따라서 echo $foobar[0]; 이라고 하면
  $foo 안에 있는 값 중 [0]번째에 있는 '값' 을 보여줘' 가 된다.

마찬가지로 echo $foobar[1]; 이라고 하면 , $foo 안에 있는 값 중 [1]번째 '값'을 보여줘라는 의미이다.

echo '<br />' 은 <br /> 이라는 글자를 출력해 .. 라는 뜻이다.

<br /> 은 html 에서 줄 바꿈을 하라는 약속이다.


위 코드를 그대로 해석해 보면

'foo' 라는 글자와 'bar '라는 글자를 묶어서 $foobar 라는 이름을 붙임.
$foobar 라는 이름을 가진 값 중 [0]번째 '값'을 보여줘.
줄바꿈을 해주라는 html 태그를 보여줘.
$foobar 라는 이름을 가진 값 중 [1]번째 '값'을 보여줘.

가 된다.

최종 결과물은
foo
bar

이다.

php 변수 타입 - string

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - string

* 문자열을 나타낸다. 일반적인 문자의 조합이다.

* 각 문자열은 '로 시작해서 '로 끝나거나, "" 로 시작해서 "" 로 끝난다.

* '' :  순수한 문자열이다. 문자열 안의 변수 혹은 다른 표현식을 해석하지 않는다.

* "" : 문자열 안에 변수 혹은 다른 표현식이 있을 경우 해석한다.


아래는 ''(홑따옴표) 로 감싸진 문자열 예제이다.

<?php
  $foo = 'this is string';
  echo $foo;
?>


아래는 ""(쌍따옴표) 로 감싸진 문자열 예제이다. 
문자열 안에서 변수를 사용한다.
 
 <?php
  $instr = 'hi';
  $foo = "say $instr"; // say hi
  echo $foo;
?>

위 예제의 경우
$instr 변수의 값이 hi 이므로 결과는
say hi
가 된다.

php 변수 타입 - float

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - float

실수형이다. 소수점을 포함한 숫자를 의미한다.


<?php
  $foo = 42.195;
  echo $foo;
?>

php 변수 타입 - integer

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - integer

정수형을 나타낸다.
즉 소수점을 포함하지 않는 숫자이다.

<?php
  $foo = 154;
  echo $foo;
?>

php 변수

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수

프로그램을 실행할 때 필요한 값에 이름을 붙이는 것이다.

변수 이름 앞에는 $를 붙여서 이것이 '이름이다' 라고 알려주게 된다.

예시.
<?php
  $foo = 'hello foo';
  echo $foo;
?>


이 문장을 해석해 보면

=> 'hello foo' 라는 문자열을 $foo 라고 이름붙임.
=> $foo라는 이름을 가진 '값' 을 화면에 보여줌.
=> hello foo
     가 출력됨.


php 는 변수에 이름을 붙일 때 타입을 구분하지 않는다.

php 변수 타입 - boolean

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 변수 타입 - boolean


boolean
true 와 false 라는 값 2개밖에 없다.
true = 참
false = 거짓
이라는 의미이다.

<?php
  $foo = true;
  echo $foo;
?>

php 주석

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 주석

php 가 해석하지 않는 구문.

주로 설명 등이 들어간다.





한줄 주석은
//
로 시작한다.


여러줄 주석은
/*
로 시작해서
*/
로 끝난다.

php 문장의 끝 - 세미콜론

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 문장의 끝 - 세미콜론

; 은 한 문장의 끝을 의미한다.

php 로 hello world 보이기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 로 hello world 보이기

아래 내용을 소스코드 에디터에서 넣어본다.


<!DOCTYPE html>

<html>
  <head>
  </head>
  <body>
      <?php
        echo 'Hello World';
      ?>
  </body>
</html>
 
 
이제 이 값이 어떻게 html 로 변하는지 확인한다.
 
 
<body>
  <?php
    echo 'Hello World';
  ?>
</body>
 
가 html 로 변하면
 
<body>
    hello world
</body>
 
와 같이 된다. 

html 과 php 같이 쓰기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html 과 php 같이 쓰기

<?php
로 시작하고
?> 로 끝나는 블럭은 '서버에서 php 가 실행된다.' 라는 의미이다.

반대로 <?php  ?> 블럭 안에 있지 않는 문자들은 그대로 html 로 보여진다.



  <body>
      <?php
        echo 'Hello World';
      ?>
  </body>

php 의 역할

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


php 의 역할

php는 기본적으로 서버 안에서 실행되는 하나의 프로그램이다.

php는 클라이언트의 요청을 받아서 처리하고 그 결과물을 html로 돌려주게 된다.

최종 결과물은 html이다.
즉 php는 정적인 웹 페이지가 아니라 사용자의 요청에 따라 다른 html을 만들어내는 역할을 한다.

html anchor

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html anchor

Html 은 문서끼리 서로 연결할 수 있다.
Anchor 태그는 다른 문서의 주소를 지정함으로써 연결하는 태그이다.


<a href="[문서주소]" target="_self">[링크를 걸 문자열]</a>

html textarea

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html textarea

textarea 는 html에서 여러줄 입력을 받을 때 사용하는 태그의 종류이다.
rows 는 몇 줄을 입력받을 것인지, cols 는 넓이가 몇인지 설정한다.


<texarea name="contents" rows="3" cols="50">
[내용]
</textarea>
 
주의. 
여는 태그 <textarea> 와 </textarea> 사이에는 공백이나 줄바꿈이 없어야 한다. 
만약에 공백이나 줄바꿈이 있을 경우 이 또한 textarea 의 값으로 인식한다.

html input hidden

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input hidden


hidden 필드는 input 태그 중 하나로써 사용자 ui 상에 보이지는 않지만 값을 가지고 있는 필드를 말한다.

주로 폼에 값을 넣어서 서버로 전송해야 하지만 사용자에게 보일 필요는 없는 데이터를 넣는 곳에 사용된다.

<input type='hidden' name="[이름]" value="[값]" />
 

html input button

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input button

클릭을 할 수 있는 버튼.
클릭해도 서버로 값을 전송하지 않는다.


<input type="text" name="[이름]" value="버튼텍스트" />

html input radio

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input radio

여러개의 값 중 하나를 입력받을 때 사용한다.


        <input type="radio" name="user" value="hahaha" />
        <input type="radio" name="user" value="kekeke" />
        <input type="radio" name="user" value="HOHOHO" />
 
그룹을 짓는 기준은 name attribute 이다. 

html input submit

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!



html input submit

클릭시 자기자신을 감싸고 있는 form 의 모든 내용을 서버로 전송한다.


<input type="text" name="[이름]" value="[버튼글자]" />

html input password

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input password


한줄짜리 비밀번호를 입력받을 때 사용한다.

input password 에 사용자가 특정한 값을 입력할 시 값이 그대로 보이지 않고 ** 로 가려진다.

형식

<input type="password" name="[이름]" /

html input

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input


입력을 받는 다양한 방식의 태그.
  • text
  • password
  • submit
  • button
  • radio
  • hidden
등이 있다.

html input text

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html input text

한줄짜리 입력을 받을 때 사용한다.


형식 

<input type="text" name="[이름]" />

html form

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html form

html 에 있는 값을 서버로 전송할 때 사용한다.

예제





 <!DOCTYPE html>  
 <html>  
  <head>  
  </head>  
  <body>  
   <form action="frmsubmit.php" target="_self" method="post">  
    name : <input type="text" name="name" />  
    <br />  
    age : <input type="text" name="age" />  
    <br />  
    gender : <input type="text" name="gender" />  
    <br />  
    <input type="submit" value="submit form" />  
   </form>  
  </body>  
 </html>  

html div

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html div

html에서 div는 '블럭'을 나타내는 태그이다.
즉 div 안에서 다른 태그들이 영역 안으로 보이게 된다.

html 의 name 과 id

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!



html 의 name 과 id

html 의 태그들은 각각 name 과 id 항목을 가진다.

name


서버로 값을 전송할 때 서버에서 인식할 수 있는 식별자이다.
대부분의 경우 html 문서 내에서 유일한 값이지만
radio 나 select 등 여러개의 값 중에서 하나를 선택하는 태그의 경우 그룹으로 묶기 위해 같은 이름을 사용하기도 한다.

id

html 문서 내에서 개체를 가리키는 유일한 값이다.
필수 항목은 아니며 자바스크립트 등으로 html 요소를 컨트롤해야 할 때 주로 사용한다.

html character set

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html character set

영어가 아닌 다른 글자가 html 에 출력되기 위해서는 글자가 어떤 식으로 해석되어야 할 것인가 명시할 필요가 있다.

 UTF-8을 사용할 것이므로 UTF-8 인코딩을 지정해주자.

head 영역 안에
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
을 넣으면 된다.

html 로 hello world 보이기

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!

 
html 로 hello world 보이기  
 
<!DOCTYPE html>

<html>
  <head>
  </head>
  <body>
      Hello World
  </body>
</html>
 
 
코드를 입력한 다음 웹브라우저에서 확인해보기.

html 의 기본 형식

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html 의 기본 형식


<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
  </body>
</html>
 
 
  • <!DOCTYPE html> 로 선언하면 html 5 형식이다.
  • <html>로 시작하고 </html> 로 끝남.
  • <head> 로 메타 데이터 정의
  • <body> 로 화면에 보이는 영역 정의

html 의 정의

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


html 의 정의


Hyper Text Markup Language 의 약자이다.


화면에 보여지는 내용이 어떤 구조로 되어있는가를 정의하는 규칙이다.


서버에 있는 문서 페이지를 보기 위해서는 문서가 특정한 형식이어야 한다.


웹브라우저에서 볼 수 있는 문서 형식은 html 형식이다.

웹 서버

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!


웹 서버

클라이언트가 서버에 요청을 보낼 때 요청이 들어오는지 보고있는 소프트웨어가 필요하다.

이렇게 요청을 보고 있는 소프트웨어를 [웹서버] 라고 한다.

웹 페이지가 보이는 과정

이 문서는 지속적으로 갱신되는 내용을 다룹니다.
최신 버전의 문서는 언제든지 http://crealnet.blogspot.kr에서 얻을 수 있습니다.
문서가 업데이트 될 때마다 이메일로 받아보고 싶으시다면 http://crealnet.blogspot.kr/p/pdf.html 를 사용해 주세요.
기타 추가적으로 필요하신 사항은 http://crealnet.blogspot.kr/p/blog-page.html에서 연락주시면 됩니다.
읽어주셔서 감사합니다!

웹 페이지가 보이는 과정

사용자가 어딘가에 있는 컴퓨터에 주소를 써서 요청

컴퓨터가 주소에 있는 페이지를 사용자에게 돌려줌

사용자의 웹브라우저에 보여짐.

이때 사용자를 클라이언트라고 하고, 어딘가에 있는 컴퓨터를 서버라고 한다.

이 내용을 조금 더 전문적으로 기술해보면 아래와 같다.

클라이언트는 서버에 html 형식의 문서를 요청.

서버는 동일하게 html 형식의 문서를 클라이언트에게 반환

서버가 반환한 html 문서를 클라이언트의 웹브라우저가 해석한다.

최종 사용자가 볼 수 있는 형태로 보여준다.

2014년 12월 29일 월요일

php 에서 mysql 사용시 sql injection 방지하는 코드


php 에서 mysql 사용시 sql injection 방지하는 코드
 

PDO 사용시
$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array('name' => $name));

foreach ($stmt as $row) {
// do something with $row
}
 
핵심은  쿼리 안의 :name 이라는 글자가 나중에 $name 이라는 변수로 치환될 때 
자동으로 sql injection 을 막아주는 것. 
prepare statement 라고 한다.
 
 
MYSQLi 사용시
$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt
->bind_param('s', $name);

$stmt
->execute();

$result
= $stmt->get_result();
while ($row = $result->fetch_assoc()) {
// do something with $row
}

MYSQLi 를 사용할 때는 prepare statement 가 아니라 binding_param 이라는 것을 사용한다.

파라미터 이름 대신 ? 를 적고, ? 가 나중에 binding_param 에 의해서 sql injection 을 막아주면서 값으로 쿼리문 안에 들어간다.

 

참고 : How can I prevent SQL-injection in PHP?