7. 세션 & 쿠키

1) 쿠키

클라이언트에 웹페이지의 정보를 담은 임시파일을 쿠키라 한다
이후 데이터는 웹페이지를 불러올때마다 쿠키의 정보가 함께 전송되어진다

 

- 생성
<?
setcookie('변수명', '변수값', '만료시간', '디렉토리, '도메인');
?>

 

만료시간, 디렉토리, 도메인이 없어도 쿠키는 생성된다
만료시간 : 값은 보통 time()+유지할시간(초) 의 형태로 사용한다 (없을시 브라우저 종료에 삭제)
디렉토리 : 쿠키가 적용되는 디렉토리 (없을시 모든페이지)
도메인 : 쿠키가 적용되는 도메인 (없으면 현재 도메인)

 

- 조회
<?
$_COOKIE['변수명'];
?>

 

- 삭제

<?
setcookie('변수명', ''); //값에 아무것도 넣어주지 않는다
?>

 

2) 세션
서버에 웹페이지에서 필요한 정보를 저장하는 것을 세션이라 한다
세션의 데이터는 서버에 저장되고 웹페이지에는 세션의 키값이 쿠키에 담겨 보내진다
세션을 사용하는 페이지는 항상 페이지 맨앞에 SESSION_START(); 를 넣어주어야 한다

 

- 생성, 수정
<?
SESSION_START();
$_SESSION['변수명'] = "값";
?>

 

- 조회
<?
SESSION_START();
echo $_SESSION['변수명'];
?>

 

- 삭제
<?
SESSION_START();
SESSION_UNSET("변수명"); //변수명에 해당하는 값 삭제
SESSION_DESTROY(); //현재있는 모든 세션 삭제
?>

 

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 5 (정규표현식)  (0) 2012.11.23
PHP 기본문법 4 (함수)  (0) 2012.11.23
PHP 기본문법 3 (반복문)  (0) 2012.11.23
PHP 기본문법 2 (조건문)  (0) 2012.11.23
PHP 기본문법 1 (변수, 연산자)  (0) 2012.11.23
Posted by hidden1
,

6. 정규표현식

 

1) eregi 함수


eregi("검사할문자", "검사대상문자열");

 

- 검사대상문자열에 검사할 문자가 있으면 TRUE(1),
검사대상문자열에 검사할 문자가 없으면 FALSE(null) 가 결과로 나오게 된다
- ereg함수는 대소문자 구별을하며 eregi함수는 대소문자 구별을 하지 않는다

 

ex)
<?
$str = "a";

echo eregi($str, "abcd"); // TRUE
echo eregi($str, "ABCD"); // TRUE
echo eregi($str, "wxyz"); // FALSE

echo ereg($str, "abcd"); // TRUE
echo ereg($str, "ABCD"); // FALSE
echo ereg($str, "wxyz"); // FALSE
?>

 

2) 정규표현식 ^ / $ / . / * / + / ?

연산자

설명

^

문자열의 시작을 의미

$

문자열의 끝을 의미

.

임의의 한 문자

*

바로 앞의 문자가 없거나 하나 이상

+

바로 앞의 문자가 하나이상

?

바로 앞의 한 문자가 없거나 있음

 

ex)
^a ==> a로 시작하는 모든 문자열 (a, ab, abc, abcd, ....)
a$ ==> a로 끝나는 모든 문자열 (a, ba, cba, ....)
a.b ==> a와 b사이에 한 문자가 있는 문자열 (acb, zajb, aaibl, ....)
a* ==> a가 없거나 하나 이상 (모두참)
a*b ==> a가 없거나 하나 이상이며 b가 있음 (b, ab, addddddb, ....)
a+ ==> a가 한글자 이상 (a, bbbba, bbba, bbbaaabbbbb, ....)
^ba?c ==> a가 없거나 있고 b로 시작하며 c를 포함 (bac, bc, bbbaccc, ....)
※ bbbaeccc는 b와c사이에 a외의 값이 있으면 거짓

 

3) 정규표현식 () / {} / [] / -

연산자

설명

( )

문자열의 그룹 지정

{min, max}

바로 앞 문자의 반복횟수 지정

[ ]

[ ]안의 문자중 하나이상

A-Z

A ~ Z 사이의 문자

 

ex)
(ab) ==> 문자열중 ab가 있음 (ab, abb, cab, cabd, ....)
(ab){1,2} ==> ab가 1개이상 2개 이하인 문자열 (ab, abab, ....)
[abcde] ==> abcde 중 하나이상의 문자 (wxyaz, wxyadz, ....)
[a-z] ==> a ~ z중 하나이상의 문자 (012a, a, Aa, ....)
[:Alnum:] ==> 알파벳과 숫자를 의미
[:Alpha:] ==> 알파벳을 의미
[:digit:] ==> 숫자의미
[:Xdigit:] ==> 16진수를 의미

 

4)예제

- 숫자
^(-?[1-9][0-9]*)$ (정수)
^[0-9]+(.[0-9]+)?$ (소수)

- e-mail
^[_0-9a-zA-Z-]+(.[_0-9a-zA-Z]+)*@[0-9a-zA-Z-]+(.[0-9a-zA-Z-]+)*$

- 주민번호
^[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])-[1-4][0-9]{6}$

- 한글
^[ㄱ-ㅎ가-힣]$

 

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 6 (세션 & 쿠키)  (0) 2012.11.23
PHP 기본문법 4 (함수)  (0) 2012.11.23
PHP 기본문법 3 (반복문)  (0) 2012.11.23
PHP 기본문법 2 (조건문)  (0) 2012.11.23
PHP 기본문법 1 (변수, 연산자)  (0) 2012.11.23
Posted by hidden1
,

5. 함수

1) 사용자 정의 함수

function 함수명(인자1, 인자2, ...){
    실행 내용
    return 반환값;
}

 

- 인자, 반환값, 내용은 없어도 함수선언에 상관없다
- 함수명은 변수선언과 마찬가지로 영문자, _ 로 시작한다
- 함수에서 변경되는 변수들이 함수 밖에서도 변경되기 위해서는 인자앞에 &를 붙여준다

 

ex)
<?
function hello_world(){
    echo "hello_world";
}

function add($var1, $var2){
    return $var1 + $var2;
}

function change($var){
    $var = 10;
}

function change2($var){
    $var = 10;
}

 

echo hello_world(); // hello_world 출력

echo add(10, 20); // 30 출력

 

$var = add(10, 20);
echo $var; // 30 출력

 

$var = 5;
change($var);
echo $var; // 5출력

 

$var = 5;
change2($var);
echo $var; // 10출력
?>

 

2) 내장 함수

 

- php 에서 기본적으로 제공하는 함수들이다
- 함수 리스트는 (http://students.kiv.zcu.cz/doc/php5/manual/kr/funcref.php.html) 에 존재한다
- 구글, 네이버등에서 검색하여 사용하자

 

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 6 (세션 & 쿠키)  (0) 2012.11.23
PHP 기본문법 5 (정규표현식)  (0) 2012.11.23
PHP 기본문법 3 (반복문)  (0) 2012.11.23
PHP 기본문법 2 (조건문)  (0) 2012.11.23
PHP 기본문법 1 (변수, 연산자)  (0) 2012.11.23
Posted by hidden1
,

4. 제어문 (반복문)

 

1) while 문

while(조건문){
    실행문
}

 

- 실행전 조건문이 참일때 while안의 실행문을 수행하게 된다
- 만약 실행문에서 조건문에 영향을 주지 않아 조건문이 무조건 참이 되게 한다면 무한루프에 빠지게 된다

 

ex)
<?
$i = 0;
while($i < 5){
    echo $i;
    $i++; // 만약 없으면 조건문은 계속 참이되고 그로인해 무한히 반복된다
}

//$i = 0 일때 결과 0 1 2 3 4
//$i = 5 일때 결과 (없음)
?>

 

2) do ~ while 문

do{
    실행문
}while(조건문);

 

- 무조건 한번은 실행하며 실행후 조건문이 참일때 실행문을 다시 수행한다
- while과 마찬가지로 실행문에서 조건문이 거짓의 결과가 나오도록 하여야 한다

 

ex)
<?
$i = 0;
do{
    echo $i;
    $i++;
}while($i < 5);

//$i = 0 일때 결과 0 1 2 3 4
//$i = 10 일때 결과 10
?>

 

3) for 문

for(시작문 ; 조건식 ; 증감식){
    실행문
}

 

- 처음 시작시 시작문을 실행한다
- 반복할때마다 조건식을 검사하여 참일때 실행문을 수행한다
- 실행문의 종료시 증감식이 실행된다
- 시작문 -> 조건식(참) -> 실행문 -> 증감식 -> 조건식(참) -> 실행문 -> 증감식 -> 조건식(거짓) -> 끝

 

ex)
<?
for($i = 0 ; $i < 5 ; $i++){
    echo $i;
}
//결과 0 1 2 3 4
?>

 

4) break, continue 문

 

- break와 continue는 반복문, switch 문에서 사용할수 있다
- 프로그램 수행중 break를 만나면 해당 구문에서 빠져나오게 된다
- 프로그램 수행중 continue를 만나면 다음 실행문은 무시하고 구문의 조건식을 검사하는 부분으로 이동한다

 

ex)
<?
for($i = 0 ; $i < 5 ; $i++){
    if($i == 3)
        break;
    echo $i;
}
//결과 0 1 2
//break가 continue일때 0 1 2 4
?>

 

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 5 (정규표현식)  (0) 2012.11.23
PHP 기본문법 4 (함수)  (0) 2012.11.23
PHP 기본문법 2 (조건문)  (0) 2012.11.23
PHP 기본문법 1 (변수, 연산자)  (0) 2012.11.23
우분투 처음 설치후 apm 설치하기  (0) 2012.11.23
Posted by hidden1
,

3. 제어문 (조건문)

1) if ~ else if ~ else 구문

if(조건문){
    실행문

}else if(조건문){
    실행문

}else{
    실행문
}

 

- 괄호 안의 조건문이 참일때 중괄호에 둘러쌓인 실행문이 실행된다 이때 실행문이 한문장일 경우 중괄호를 생략해도 된다
- if는 홀로 사용이 가능하며 else if와 else는 if먼저 사용후 따라나와야 한다 이때 else는 if, else if가 모두 거짓일때 실행된다
- 조건은 순서대로 실행되며 참인 조건이 나오면 해당 실행문 실행후 if ~ else 구문은 종료된다

 

ex)
<?
$var = X; //임의의 값

if($var == 1){
    echo "값은 1";

}else if($var > 5){
    echo "값은 5보다 크다";

}else if($var < 1){
    echo "값은 1보다 작다";

}else{
    echo "값은 1보다 크고 5보다 작다";
}
?>

 

2. switch ~ case 구문
switch(값){
    case 값:
    실행문
    break;
default 값:
    실행문
    break;
}

 

- 괄호 안의 값이 case 옆에 있는 값과 같을때 해당 구문을 실행하며 break를 만나기 전까지 순차적으로 계속 실행된다
- case값은 여러개가 들어갈수 있으며 default가 없어도 실행은 된다
- 문자열끼리의 비교도 가능하다

 

ex)
<?
$var = X; //임의의 값

switch($var){
case 0:
    echo "var값은 0";
    break;
case 1:
case 2:
    echo "var값은 1 또는 2";
    break;
default:
    echo "var값은 0, 1, 2가 아니다";
    break;
}
?>

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 5 (정규표현식)  (0) 2012.11.23
PHP 기본문법 4 (함수)  (0) 2012.11.23
PHP 기본문법 3 (반복문)  (0) 2012.11.23
PHP 기본문법 1 (변수, 연산자)  (0) 2012.11.23
우분투 처음 설치후 apm 설치하기  (0) 2012.11.23
Posted by hidden1
,

0. 시작
- php의 시작과 끝은 <?php 스크립트 ?> 의 형태이다
- php내에서 html을 사용하려면 echo "HTML코드"; 의 형식으로 사용한다
- 문장의 끝은 무조건 ;로 끝난다
- 주석은 //(한줄주석), /* 범위주석 */을 사용한다

 

1. 변수 선언

php는 변수 선언시 형태를 따로 지정하지 않아도 되며 자동으로 형변환을 해주게 된다

 

- 문자, 숫자형

$var = "값";

 

ex)
$var = "test"; //문자열 test
$var = 10; //정수형 10

 

- 배열형

$var = array([key] => "값" [, [key] => "값"]);
$var[0] = "값1";
$var[1] = "값2";

 

ex)
$var = array("a" => "test1", "b" => "test2"); //배열
==> $var['a']의 값은 'test1', $var['b']의 값은 'test2'

 

- 참, 거짓

$var = TRUE; //참
$var = FALSE; //거짓

 

- 상수 정의하기
상수명은 대소문자를 구분한다

define("상수명", "상수 값");

 

ex)
define("USER", "joohk10");
echo USER; //"joohk10" 출력

 

2. 연산자
- 대입연산
=

 

ex)
$var = 2; // 2를 $var에 대입

 

- 사칙연산
+, -, *, /

$var = 1 + 2; // 1+2를 $var에 대입
$var -= 3; // $var에서 3을 뺌

 

- 비교연산
==, !=, <>, >, <. <=, >=

$var1 == $var2 // $var1과 $var2가 같으면 참
$var1 != $var2 // $var1과 $var2가 다르면 참(<>와 동일)
$var1 > $var2 // $var1이 $var2보다 크면 참

 

- 오류연산
@

@file('존재하지않는파일'); //에러 발생시 에러출력 안함

 

- 실행연산
` (Esc 아래 있는거)

$output = `ls -al`; //ls -al명령의 결과가 저장됨

 

- 증감, 논리 연산
++, --, and, or, xor, !, &&, ||

$var1++, $var1-- //$var1값이 1씩 증감
$var1 xor $var2 //$var1, $var2 둘중 하나만 참일때 참
$var1 or $var2 //$var1, $var2 둘중 하나이상 참이면 참 (|| 와 같음)
$var1 and $var2 //$var1, $var2 둘다 참이면 참 (&& 와 같음)
!$var1 //$var1가 참이면 거짓, 거짓이면 참

'공부 > PHP' 카테고리의 다른 글

PHP 기본문법 5 (정규표현식)  (0) 2012.11.23
PHP 기본문법 4 (함수)  (0) 2012.11.23
PHP 기본문법 3 (반복문)  (0) 2012.11.23
PHP 기본문법 2 (조건문)  (0) 2012.11.23
우분투 처음 설치후 apm 설치하기  (0) 2012.11.23
Posted by hidden1
,