유돌이

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

Notice

2008. 12. 24. 18:01 델파이

[선언부]

var
  Reg: TRegistry;
  RegVal: String;

 

[초기화]

  Reg := TRegistry.Create;
   Reg.RootKey := HKEY_LOCAL_MACHINE;  
   Reg.OpenKey(REG_CLSID, True);

 

[값 읽기]

  RegVa := Reg.ReadString('REG_READ_NAME');

 

[값 쓰기]

  Reg.WriteString('REG_WRITE_NAME', '1');

 

[메모리 해제]

  Reg.Free;


'델파이' 카테고리의 다른 글

실행파일 삭제  (0) 2008.12.24
키보드 이벤트[keybd_event  (0) 2008.12.24
웹에 있는 파일 다운로드 받기(UrlDownloadToFile)  (0) 2008.12.24
TWebBrowser 에서 텍스트 형태 바꾸기  (0) 2008.12.24
델파이 자료형~!  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 17:59 델파이

//[함수 구현 부분]

 

function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
  Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
  Result := False;
  end;
end;

// [함수 호출 부분~]

 

// 다운로드할 URL 경로
SourceFile = 'http://.../SB_DB.txt';
// 저장할 파일의 경로
DestFile = 'c:\SB_DB.txt';

if DownloadFile(SourceFile, DestFile) then begin
    ShowMessage('Download succesful!');
    ShellExecute(Application.Handle, PChar('open'), PChar(DestFile),
    PChar(''), nil, SW_NORMAL)
  end else begin
    ShowMessage('Error while downloading ' + SourceFile)
  end;

'델파이' 카테고리의 다른 글

키보드 이벤트[keybd_event  (0) 2008.12.24
레지스트리 값 읽고 쓰기  (0) 2008.12.24
TWebBrowser 에서 텍스트 형태 바꾸기  (0) 2008.12.24
델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 17:56 델파이
Author: sTenYa

Category: Internet / LAN

{....}

private
  procedure 
SearchAndHighlightText(aText: string);
    
{....}

uses mshtml;

{ .... }


procedure TForm1.SearchAndHighlightText(aText: string);
var
  
tr: IHTMLTxtRange; //TextRange Object
begin
  if not 
WebBrowser1.Busy then
  begin
    
tr := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange;
    //Get a body with IHTMLDocument2 Interface and then a TextRang obj. with IHTMLBodyElement Intf.

    
while tr.findText(aText, 1, 0) do //while we have result
    
begin
      
tr.pasteHTML('<span style="background-color: Lime; font-weight: bolder;">' +
        tr.htmlText + '</span>');
      //Set the highlight, now background color will be Lime
      
tr.scrollIntoView(True);
      //When IE find a match, we ask to scroll the window... you dont need this...
    
end;
  end;
end;

// Example:
procedure TForm1.Button1Click(Sender: TObject);
begin
  
SearchAndHighlightText('delphi');
end;


'델파이' 카테고리의 다른 글

레지스트리 값 읽고 쓰기  (0) 2008.12.24
웹에 있는 파일 다운로드 받기(UrlDownloadToFile)  (0) 2008.12.24
델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
델파이에서 브라우저 띄우기  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 17:54 델파이

자 료 형 (Data types)

단 순 형

문 자 열 형

구 조 형

포 인 터 형

가 변 형

정수형

단문자열형

배열형

무형 포인터

가변형

문자형

장문자열형

레코드형

유형 포인터

 

대수형

광폭(Wide)문자열형

집합형

 

 

열거형

 

 

 

 

범위형

 

 

 

 

실수형

 

 

 

 

1.숫 자 형

        1.1 정수형(Integer)

           정수형은 일반적인 숫자를 표현하는데 사용되는 자료형

          

자 료 형

범   위

크   기

Shortint

-128~127

1바이트 / 부호있는 8비트

Smallint

-32768~32767

2바이트 / 부호있는 16비트

Longint

-2147483648~2147483647

4바이트 / 부호있는 32비트

Byte

0~255

1바이트 / 부호없는 8비트

Word

0~65535

2바이트 / 부호없는 16비트

Integer

-2147483648~2147483647

4바이트 / 부호있는 32비트

Cardinal

0~2147483647

4바이트 / 부호없는 32비트

          1.1.A 변수선언방법

           

var

   I : Shortint;

            1의 값은 -128에서 127사이의 범위에 포함된다. 

           1.1.B 정수형 변수에 변수 대입방법

           

var

   I : Shortint;

   J : Word;

begin

   J := I;

   I := J;

end;

             정수형의 범위를 벗어난 값을 대입하려고 하면 엉뚱한 값이 대입됨.

        1.2 실수형(real type)

          소수점 이하의 값을 다룰 때 사용

      

실 수 형

범   위

크   기

Real

2.9*10^-39 ~ 17*10^38

6바이트

Single

1.5*10^-45 ~ 3.4*10^38

4바이트

Double

5.0*10^-324 ~ 1.7*10^308

8바이트

Extended

3.4*10^-4932 ~ 1.1*10^4932

10바이트 

Comp

-263~263-1

8바이트

Currency

-922337293685477.5808 

~922337203685477.5807

8바이트

2.문 자 형

        2.1 단 문 자 열 형

        오브젝트 파스칼의 문자형으로는 세 가지 기본 자료형이 준비되어 있다.

        

문 자 형

표 현 범 위

AnsiChar

1바이트 크기 또는 ASCII 코드 값이 해당하는 문자

WideChar

2바이트 크기 또는 유니코드(Unicode) 문자

Char

AnsiChar형과 같음

           2.1.A 변수선언방법  <문자의 좌우에는 작은 따옴표를 사용해야 한다.>

            

var

   C : Char;

begin

   C := 'a';

end; 

           2.1.B ASCII 코드 값과 함께 # 기호를 사용 방법

            

C := #65;            //ASCII 코드에서 65번째 문자를 가리킨다.

            다음과 같은 의미를 가진다.

            

C := 'A';

        #기호와 ASCII 코드는 키보드로 입력할 수 없거나 또는 ENTER키와 같이 일반적인

         문자로 표현하기 어려운 문자를 사용하기 원할 때 편리하다.


        2.2 장 문 자 열 형 (String Type)

        문자열형은 여려 개의 문자로 이루어진 문자열을 가질 수 있는 자료형입니다.


        

문 자 열 형

설   명

ShortString

최대 255자 길이의 문자열을 가질 수 있습니다.

AnsiString

임의의 길이의 ASCII문자열을 가질수 있습니다.

WideString

임의의 길이의 유니코드 문자열을 가질수 있습니다.

String

컴파일러 지시자에 따라 ShortString이나 AnsiString이 됩니다. {$H+}가 사용된 경우에는 AnsiString이 되고,

{$H-}가 사용된 경우에는 ShortString이 됩니다.

           2.2.A 문자열 선언방법

             - 단문자 열형

            

 var

  SS : shortsrting[10];

         

            

 var

  SS : string[10];

             - 장문자 열형

            

 var

  LS : AnsiString;

             - *컴파일러 지시자를 사용

            

{$H +} 

var

  LS : string;

             *컴파일러 지시자 $H

         -컴파일러 지시자 $H는 기본적으로 설정된 상태(ON)입니다. 다시 말해서, 컴파일러 지시자의 프로           젝트 설정대화상자의 상태를 바꾸지 않았다면, String은 AnsiStirng과 같은 의미를 가집니다.             

             - wide 문자열형의 경우

            

 var

  WS : widestring;

                


3.배 열 형

        3.1 배열형

         배열형은 동일한 자료형의 값들을 여러 개 저장하는데 사용됩니다.

           3.1.A 배열형 선언

            

 var

  A : array [1..10] of integer;

           3.1.B 배열형 대입

            

 A[1] : = 100;


        3.2 집합형

         집합형은 수학에서 흔히 사용 되는 집합을 표현하는데 사용되는 것으로, 집합형을 사용하면 일반적            인 집합을 표현하고 계산하는 등의 작업을 쉽게 수행할 수 있습니다.

           3.2.A 집합형 선언방법

           

 var

   CharSet : Set of Char;

           3.2.B 집합형 대입

           

 CharSet : = [ 'a' , 'c', 'f' ];



4.기 타

        4.1 대수형

        대수형은 참과 거짓, 0과 1 등 두가지 값을 표현할 수 있는 기본 자료형이다.

        

대 수 형

크기 및 표현 범위

ByteBool

1바이트의 True / False

WordBool

2바이트의 True / False

LongBool

4바이트의 True / False

Boolean

ByteBool과 같음

        실제로 델파이에서는 주로 Boolean형이 많이 사용되고, 나머지 대수형은 주로 외부 언어나 모듈과 함께             사용된다.


        4.2 열거형

        열거형은 말 그대로 몇 개의 항목들을 나열하고 그 순서를 값으로 가질 수 있는 자료형이다.

        

type

   color = ( Red, Blue, Green, Black, White, Gray );

         // Colors 형의 변수는 열거한 세 가지 값들 중에서 한가지를 가질 수 있다.

        열거형으로 선언된 변수는 나열된 값들 중에서 한 가지를 가질 수 있다.

           4.2.A 선언방법

           

var

   MyFavoriteColor : Colors;

begin

   MyFavoriteColor := Red;   //MyFavoriteColor의 값은 Red이다.

end;

           열거형 변수를 선언할 때 나열된 값들은 해당 열거형 변수에 대해서만 일종의 상수로 취급.

           따라서 이렇게 나열된 상수들은 같은 범위 내에서 다른 용도로 사용될 수 없다.


        4.3 범위형

          -범위형은 앞에서 설명했던 단순형들 중에서 특정 자료형이 표현할 수 있는 범위의 일부만을 범위로 가지는              자료형이다.

          -범위형도 열거형과 마찬가지로 사용자가 범위를 정할 수 있으므로 사용자 정의 자료형이다.

           4.3.A 범위형 선언방법

           

type

   MyNumber = 1..10;

           4.3.B 영문 소문자만을 가질 수 있는 범위형 변수를 선언

           

type

   YourColors = Green..White;

           범위형 변수를 사용할 때에는 일반적인 단순형 변수와 같은 방법으로 취급할 수 있다. 단지, 범위형을 정           의할 때정한 최소값과 최대값의 범위를 벗어나지 않도록 주의해야 한다.


        4.4 순서형

        순서형에서는 특별한 연산이 가능. 어떤 값보다 바로 앞에 있거나 뒤에 있는 값을 구하는 연산과 어        떤 값이처음부터 몇 번째 위치에 있는지 알아내는 연산이 있다. 전자의 경우에는 Pred와 Succ를 사        용하고, 후자의경우에는 Ord를 사용한다.

          

Succ(5) = 6;

Pred(5) = 4;

Ord(5) = 5;

Succ('a') = 'b';

Pred('z') = 'y';

Ord('a') =97;

Ord(false) = 0;

Succ(false) = true;

Pred(false) = true;

Pred(Green) = Red;

Ord(Pred(Green)) = Ord(Red) = 0;


        4.5 레코드형

        - 동일한 형의 여러 데이터를 다루기 위해서 배열을 사용하는 것과 달리 서로 같거나 다른 자료형의          여러 데이터를 다루기 위해서 레코드형을 사용할 수 있습니다.

           4.5.A 레코드형 선언

           

 type

  Cities = (Seoul, Incheon, Pusan, Masan ) ;

  AddrInfo = record

        Name : String;

        Sex : Char ;

        City : Cities;

        Post 1 : shorting;

        Post 2 : shorting;

  end;


           4.5.B 레코드형 대입

           

 var

  MyAddr : AddrInfo;

  MyAddr. Name : = '문열‘;

  MyAddr. Sex : = 'M'

  MyAddr. City : = Seoul;

  MyAddr. Post1 : =100;

  MyAddr. Post2 : =200;

        

        4.6 포인터형(Pointer type)

        - 포인터형은 어떤 대상을 가리키는 값을 표현하는 자료형

        - 포인터형변수는 변수가 저장된 메모리 영역을 가리킨다

        -포인터형 변수는 일정한 범위의 값이 아니라 변수가 저장된 메모리 영역의 주소를 값으로 가진다.

           4.6.A 포인터형 변수가 메모리의 유효한 영역을 가리키게 하는 방법

            ·간접 어드레싱(indirect addressing)

              -실제로 선언된 변수의 주소를 포인터에 대입하는 방법

            ·동적 변수(dynamic variable)

              -시스템에서 어떤 메모리 영역을 할당받은 후, 포인터가 그 영역을 가리키게 하는 방법

           4.6.B 델파이에서 포인터를 선언하는 방법 

            · 무형 포인터 (untyped pointer)

var

 P : pinter;

              - 포인터가 일정한 형의 변수를 가리키는 것이 아니라 임의의 형의 변수를 가리킬 수 있는 것

                  pointer 라는 예약어를 사용한다

            ·유형 포인터 (typed pointer)

             - 일정한 형의 변수를 가리키는 것

var

 PI : ^Integer;

                 자료형 이름 앞에 ^기호를 사용 

             ·포인터가 가리키는 값을 사용하할 때

var

PI : PInteger;

 I : Integer;

 

 PI := I^; //pi 가 가르키는 값에 I를 대입

                 변수 다음에 ^ 기호 사용


        4.7 가 변 형 (Variant type)

        - 가변형은 실행시 임의의 자료형을 포함할 수 있는 자료형이다.

        즉>프로그램이 실행중일 때, 가변형의 변수들은 정수형,실수형,문자열형,대수형등의 값을 가질수있다.

        - 자료형의 변수들을 대입할 수 있다.


           4.7.A 선언방법

var

 V : variant;


 


           4.7.B 변수 대입 방법

 var

  V1, V2 : variant;

  I : Integer

  S : String;

 

  I := 100;

  S := '-100';

  V1 := I ;

 V2 := S;

   
 


posted by 유돌이
2008. 12. 24. 17:33 델파이

String.Compare :: 문자를 비교

 

String.Lower  :: 문자를 소문자로 변환


String.Mid :: 경로 지정

'델파이' 카테고리의 다른 글

TWebBrowser 에서 텍스트 형태 바꾸기  (0) 2008.12.24
델파이 자료형~!  (0) 2008.12.24
델파이에서 브라우저 띄우기  (0) 2008.12.24
델파이에서 dll 등록하기  (0) 2008.12.24
델파이 폼 최소화 시키는 법  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 17:32 델파이

델파이 프로그램에서 브라우저를 띄우실려면

 

우선 툴파레트에서 'internet' 영역에 있는 'TwebBrowser'를 선택하셔서

브라우저가 나타날 위치에 드레그하시고...

 

procedure TForm2.FormCreate(Sender: TObject);

 

부분에 아래와 같이 추가  하시면 됩니다.

 

=> WebBrowser.Navigate('http://blog.naver.com/cysnim12');


'델파이' 카테고리의 다른 글

델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
델파이에서 dll 등록하기  (0) 2008.12.24
델파이 폼 최소화 시키는 법  (0) 2008.12.24
델파이 기본 함수  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 14:33 델파이
WinExec('Regsvr32 /s "파일명"',0);

'델파이' 카테고리의 다른 글

델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
델파이에서 브라우저 띄우기  (0) 2008.12.24
델파이 폼 최소화 시키는 법  (0) 2008.12.24
델파이 기본 함수  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 14:31 델파이

1. API 함수

: 모든 폼이 최소화가 활성화 된다.(작업표시줄에 표시)

 

ShowWindow(Handle, SW_MINIMIZE);

 

 

 

2. 속성값 변경

: 메인폼을 제외한 폼은 활성화가 되지 않는다.(윈도우창에 표시)

 

wsStae = wsminimized


'델파이' 카테고리의 다른 글

델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
델파이에서 브라우저 띄우기  (0) 2008.12.24
델파이에서 dll 등록하기  (0) 2008.12.24
델파이 기본 함수  (0) 2008.12.24
posted by 유돌이
2008. 12. 24. 14:30 델파이

패스를 제외한 실행파일명만 : ExtractFileName(Application.ExeName)
파일명을 제외한 패스명만 : ExtractFilePath(Application.ExeName)
드라이브 명만 : ExtractFileDrive(Applicaton.ExeName)
확장자만 : ExtractFileExt(Application.ExeName)

 

문자열 변환 함수
IntToHex
정수 -> 16진수 -> 문자열로 변환한다.
IntToStr
function IntToStr(Value:Longint):string;
정수형 데이터를 문자열로 변환해 준다.

IsValidIdent
function IsValidIdent(const Ident:string):Boolean;
주어진 문자열이 올바른 식별자이면 True를 준다.

Length
function Length(S:string):integer;
문자열의 길이를 돌려준다.

LoadStr
function LoadStr(Ident:Word):string;
실행파일로부터 문자열을 가지고 온다.

LowerCase
function LowerCase(const S:string):string;
문자열을 모두 소문자로 만든다.

 

MoveTo

function AnsiCompareText(const S1, S2:string): Integer;

 

S1 문자열들과 S2 문자열들을 비교한다. AnsiCompareStr과의 차이점은 비교하는 문자열의 크기에 있다. 더 많은 양의 문자열을 한번에 비교할 경우에는 이 함수를 사용한다. 특히 메모 필드에 저장된 텍스트를 상호 비교할 경우에 이용한다.

 

NewStr

function NewStr(const s:string):PString;

 

힙에서 새로운 문자열을 할당한다.

 

Pos

function Pos(substr:string; S:string):Byte;

 

문자열 내에서 임의의 문자열 일부가 시작되는 곳을 알려준다.

 

Str

procedure Str(X [: Width [: Decimals ]]; var S);

 

정수, 실수 -> 문자열로 변환한다.

 

StrToInt

문자열 -> 정수로 변환한다.

 

StrToIntDef

문자열을 정수로 변환하되, 실패할 경우에는 미리 정해준 값을 준다.

 

Trim

문자열 내에서 시작 및 끝의 공백과 제어문자를 제거한다.

 

TrimLeft

문자열 내에서 시작 공백과 제어문자를 제거한다.

 

TrimRight

문자열 내에서 끝나는 공백과 제어문자를 제거한다

 

UpperCase

문자열을 모두 대문자로 바꾼다.

 

Val

문자열을 정수값으로 바꾼다. 실패일 때, 문자열내에서 실패한 위치를 돌려준다.

 

영어권 이외의 문자열처리시에는 Ansi형 프로시저/함수를 사용한다.

 

ValidateEdit

procedure ValidateEdit;

 

에디트 박스에 필요한 공백 문자의 수를 알아내기 위하여 EditText 프로퍼티를 검사한다

 

 


inRange 는
if inRange(value, min, max) then
여기서 보면 밸류값이 min 과 max 사이의 값이면 참, 아니면 거짓을 리턴합니다. 인덱스의 무결성을 검사하기에 좋죠

ensureRange 는
value := ensureRange(value, min, max);
이 함수는 value 가 min 보다 크거나 max 보다 작으면 그 자체값을 리턴하지만, min 보다 작으면 min 값을, max 보다 크면 max 값을 돌려줍니다.
이 또한 인덱스의 범위를 검사할때 사용하면 좋습니다.

 

참조 :  kimks81님 블로그 펌~!


'델파이' 카테고리의 다른 글

델파이 자료형~!  (0) 2008.12.24
문자열 관련 함수  (0) 2008.12.24
델파이에서 브라우저 띄우기  (0) 2008.12.24
델파이에서 dll 등록하기  (0) 2008.12.24
델파이 폼 최소화 시키는 법  (0) 2008.12.24
posted by 유돌이
2008. 12. 20. 22:11 PHP/Java Script/html

* 쿠키와 세션이란 같은 사용자인지를 알아내는 방법 *

* 정보가 쿠키는 클라이언트, 세션은 서버에 저장됨 *

 

1.웹사이트에 로그인 후,
주소표시줄에 다음을 입력

javascript:alert(document.cookie)

2.cookie
2-1. 쿠키란?
같은 사용자인지를 알아내기 위해 클라이언트쪽에 저장되는 값.

2-2. Cookie사용법

setCookie(쿠키변수,변수값,시간,디렉토리);

** 쿠키변수 : $는 사용하지 않는다. 단, 저장된 쿠키값을 사용할 때는 $변수명과 같이 사용

** 변수값 : 쿠키 생성할 때는 값을 입력하고, 삭제시에는 ""와 같이 작성

** 만료시간 : 쿠키 변수가 쿠키값을 가지고 있는 유효 시간을 나탸낸다. "0"으로 설정하면 브라우저가 닫히면 쿠키값이 사라지고 기간을 주는 경우에는 "time()+3600"과 같은 형태로 설정한다.

** 디렉토리 : 아무값도 설정하지 않는 경우 서브디렉토리에만 쿠키가 적용되나 상위,하위의 모든 디렉토리에서 적용하기 위해서는 '/'로 설정

a.php
< ?
setcookie("userid","suhoi");
?>

b.php
< ?
echo $userid;
?>


< ?
global $mode;
if (!$mode){
echo " 여기는 cookie.php입니다. < br>";
echo "< form name=cookie method=get action=cookie.php>";
echo "            ";
echo "ID : < input type=text name=id size=10> < br>" ;
echo "Nickname : < input type=text name=nickname size=15> < br>";
echo "< input type=hidden name=mode value=write>< br>< br>";
echo "< input type=submit value='쿠키에 저장되었는지 볼까요'>< br>";
echo "< /form>";
}
if ($mode=="write"){
setcookie("ID",$id,0);
setcookie("Nickname",$nickname,time()+36600);
echo "ID : $ID < br>" ;
echo "Nickname : $Nickname < br>< br>";
echo "< a href='cookie.php?mode=view'>쿠키에 저장되었는지 볼까요?< /a>< br>";
}
if ($mode=="del"){
setcookie("ID","");
setcookie("Nickname","");
echo "ID : $ID < br>" ;
echo "Nickname : $Nickname < br>";
echo "여기에서는 ID에 설정된 값을 모두 삭제합니다.< br>< br>";
echo "< a href='cookie.php?mode=view'>쿠키값이 삭제되었는지 볼까요?< /a>< br>";
}
if ($mode=="view"){
echo " 현재 적용된 쿠키의 상태를 보여줍니다. < br>";
echo "ID : $ID < br>" ;
echo "Nickname : $Nickname < br>< br>";
echo "< a href='cookie.php?mode=del'>쿠키값을 삭제합니다.< /a>< br>< br>";
echo "< a href='cookie.php'>다시 쿠키처음으로 돌아갑니다.< /a>< br>";
}
?>

3. 세션 시작하기

◆ 세션이란 무엇인가?

세션도 역시 상태 유지(로그인유지) 를 위해 필요한 것임다.


◆ 샌님 근디 왜 세션을 써야 하나용 ?
아직도 감이 안올수도 있슴다. 왜 써야 할까요? 저번에도 말했듯이 이놈이 이놈인지 저놈이 저놈인지 구별하기
위해서 사용함다. 세션은 쿠키의 발전된 개념으로 서버에 저장이 됨다. 물론 사용자 하드에도 저장이 되나 서버
에 저장되어 있는 값이 우선임다.

쿠키 보다는 약간 보안이 좋아졌다고 하네용 ^^

◆ 어케 쓰는가 ?
세션을 사용할려면 반드시 session_start() 를 먼저 써주어야 함다. 이유 여하 불문 하고 맨먼저 session_start
() 를 사용하면 세션을 쓰겟다 이소리 임다.^^


◆세션 값을 봐볼까나 ?

se1.php
< ?
session_start();
$my_session="마이홈 쩜 ,네이버 쩜 컴 ,수호이";
session_register("my_session");
print "세션등록완료";
?>
-------------------------------------------
se2.php
< ?
session_start();
print "저장된 세션값은 :$my_session 이다 ";
?>

se1.php 와 se2.php 는 세션을 이해 하기 쉬운 예제 임다.
우선 브라우져 에서 se2.php 를 실행 해 보세요. 그러면 당연히 아무것도 안찍히죵 ^^
세션값을 정해 주지 않았으니까요 ^^

세션값을 정해 주는 놈이 session_register() 임다. 세션_등록()이죵 ^^ 쿠쿠

$my_session="마이홈 쩜,네이버 쩜 컴 ,수호이"; 나 마찬가지죵. 그러나 변수와는 달리 어디서나 불러도 값을
불 를 수 있슴다. ^^


◆ 좀 더 예가 필요하당.
온라인 폴 시스템을 예를 들어 보자. 한번 투표 할 경우 다음에는 투표를 하지 못해야 한다. 새로고침 을 열나
눌러서 올라가게 만들면 안되는 것이다. 온라인 폴의 중복 체크는 아주 간단하다.

poll.php

< ?
session_start();
if(!$c)
{
$c="vote";
session_register("c");
echo "투표하러가세";

}else{
echo " 당신은 투표 했는디...날 바보로 아남? ";
}
?>

poll.php 를 실행 해보세용 ^^
처음에 했을때와 2번째 했을때 를 비교 하세요^^


◆ 실수 체크
세션을 등록 할때 $ 는 들어가지 않는다. 반드시 주의 하길 바람다. ^^

$c="vote";
session_register("$c");

가 아니라
$c="vote";
session_register("c");
이며

그다음에 $c 로 값을 읽어 옴다 ^^


3-1. session_start() : 페이지의 맨 위에서 호출하여야 한다. session_register()를 바로 사용하는 경우 내부적으로 session_start()를 호출하기 때문에 큰이상은 없지만 호출하는 것이 좋다..

아니면 php.ini안의 session.auto_start옵션을 1또는on으로 수정해 두면 된다.


3-2. 예제
< ?
global $mode;

function ss_dispaly(){
global $ID, $Nickname;
echo "< br>< b> 현재 설정된 SESSION 변수를 확인합니다.< /b>< br>";
echo "< br> ID 등록여부: ";
echo session_is_registered('ID');
echo "< br>Nickname 등록여부: ";
echo session_is_registered('Nickname');
echo "< br>";
echo "< br> ID값: ";
echo $ID;
echo "< br> Nickname값: ";
echo $Nickname;
}

if (!$mode){

echo "< br>< hr wdith=80%>< br>여기는 session.php 시작입니다. < br>";
echo "ID와 닉네임을 입력하세요. < br>";
echo "< form name=session method=post action=session.php>";
echo "           ";
echo "ID : < input type=text name=ID size=10> < br>" ;
echo "Nickname : < input type=text name=Nickname size=15> < br>";
echo "< input type=hidden name=mode value=write>< br>< br>";
echo "< input type=submit value='세션에 저장되었는지 볼까요'>< br>";
echo "< /form>< br>< hr wdith=80%>";
}

if ($mode=="write"){
session_start();
session_register("ID");
session_register("Nickname");
ss_dispaly();
echo "< br>< br>< a href='session.php?mode=del'>session 데이터를 삭제해 볼까요?< /a>< br>";
}

if ($mode=="del"){
session_start();
session_unregister("ID");
session_unregister("Nickname");
session_destroy();
echo "여기에서는 세션에 설정된 값이 모두 삭제되었습니다.< br>< br>";
ss_dispaly();
echo "< br>< hr width=100%>< br>";
echo "< a href='session.php'>다시 처음으로 돌아가 볼까요?< /a>< br>";
}
?>

* 세션은 쿠키와 다르게 유지시간을 설정하지 않는다. *


** 세션의 장점 **
1. 서버에 저장되어 보안적인 측면이 강화
2. 웹페이지를 읽기만 하더라고 세션의 연결 유지시간이 자동으로 증가돼.일정시간동안 아무 작업을 하지 않을시 세션을 끊기가 유리

 

---------------------------------------------------------------------------------------

 

요약

1. 세션 / 쿠키

: 같은 사용자인지 구분

 

2. 쿠키 설정(삭제)

: setcookie("변수","값",시간,디렉토리)

  setcookie("변수","")

 

3. 세션

: session_start();

할당 : session_register(변수)

삭제 : sesstion_unregister(변수)



-------------------------------------------------------------------------------
sDZpgPEIa4m0tdZqmgJrvGO//b7vVKnZeY5tOA/LS90=
posted by 유돌이