Microsoft PowerPoint 세션.ppt

Similar documents
Microsoft PowerPoint 웹 연동 기술.pptx

PHP & ASP

Microsoft PowerPoint Predicates and Quantifiers.ppt

PowerPoint Template

PHP & ASP

PowerPoint Presentation

슬라이드 1

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

설계란 무엇인가?

PowerPoint Presentation

Tcl의 문법

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Cookie Spoofing.hwp

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint MySQL 연동.ppt

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

C++ Programming

설계란 무엇인가?

C# Programming Guide - Types

Modern Javascript

11장 포인터

Microsoft PowerPoint - 27.pptx

금오공대 컴퓨터공학전공 강의자료

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

PowerPoint Presentation

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - chap06-2pointer.ppt

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

Microsoft PowerPoint - C++ 5 .pptx

chap 5: Trees

17장 클래스와 메소드

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft Word - php09.doc

Discrete Mathematics

Data Provisioning Services for mobile clients

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

untitled

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Microsoft PowerPoint - additional06.ppt [호환 모드]

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint 유용한 PHP 함수들.ppt

Microsoft Word - FunctionCall

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

화판_미용성형시술 정보집.0305

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << "ary[" << i << "] = " << ary[i] << endl; 5 장클래스의활용 1

Microsoft PowerPoint - chap06-5 [호환 모드]

PowerPoint Presentation

[ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하

C 언어 프로그래밊 과제 풀이

Design Issues

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

MPLAB C18 C

3장

SK Telecom Platform NATE

Microsoft PowerPoint - Java7.pptx

유니티 변수-함수.key

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

PowerPoint 프레젠테이션

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

Javascript.pages

PowerPoint Presentation

歯MW-1000AP_Manual_Kor_HJS.PDF

Microsoft PowerPoint 유용한 PHP 함수.pptx

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

PowerPoint Presentation

윈도우즈프로그래밍(1)

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

PowerPoint 프레젠테이션

Microsoft PowerPoint APUE(Intro).ppt

쉽게

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

쉽게 풀어쓴 C 프로그래밍

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

제11장 프로세스와 쓰레드

쉽게 풀어쓴 C 프로그래밍

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

NATE CP 컨텐츠 개발규격서_V4.4_1.doc

컴파일러

Microsoft PowerPoint - 26.pptx

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

nTOP CP 컨텐츠 개발규격서_V4.1_.doc

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

쉽게 풀어쓴 C 프로그래밍

chap10.PDF

Transcription:

웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session) 을제공 Page 2 1

세션변수 (Session Variable) (2/2) 일반변수와세션변수 일반변수 지역변수 (local variable): 변수의범위는한함수의내부로제한 ( 함수내부 ) 전역변수 (global variable): 변수가속하는스크립트가실행되는동안값을유지 ( 스크립트내부 ) 세션변수 전역변수보다더큰범위동안값을유지 ( 문서간에도범위유지 ) 명시적으로변수를없애지않는한그값을유지 Page 3 전역변수 vs. 지역변수 (1/2) 프로그램예제 (g_l_var1.php) function A () global $n; $n = A ; $m = A ; print $n, $m<br> ; $n = M ; $m = M ; print $n, $m<br> ; A (); print $n, $m<br> ; 프로그램실행결과 M, M A, A A, M 위프로그램에서함수 A() 안에서 $n은전역변수로, $m은지역변수로사용 따라서, 함수 A() 를호출하고나서 $n의값은변했지만 $m은변하지않음 Page 4 2

전역변수 vs. 지역변수 (2/2) 프로그램예제 (g_l_var2.php) function A() global $n; print $n. <br> ; function B() $n = B ; // local variable A(); $n = M ; // global variable A(); B(); 프로그램실행결과 M M 함수 B() 에서 $n 은지역변수이므로, 적용결과 ($n = B ) 가스크립트의전역변수인 $n 에영향을주지않음에유의 Page 5 세션변수의예제 (1/2) page1.php $G = This is a Global variable ; <a href=./page2.php > 다음페이지 </a> page2.php print $G; 상기프로그램 (page1.php page2.php) 을실행하면아무것도출력되지않음 전역변수는한스크립트가끝나면그변수가소멸되기때문 따라서세션변수를사용하여변수값을유지하는방법을이용 Page 6 3

세션변수의예제 (2/2) 세션을이용한예 (page_session1.php, page_session2.php) session_register( G ); $G = This is a Global variable ; <a href=./page_session2.php > 다음페이지 </a> session_start (); print $G; Page 7 세션변수의선언 (1/5) session_register() bool session_register (mixed name [, mixed...]) 세션변수를등록할때사용하는함수임 name 은세션변수의이름이되며, 이함수를한번사용하여여러개의변수를한꺼번에등록시킬수있음 session_start() bool session_start (void) 세션변수의사용을시작할때사용하는함수임 세션이시작되면, 세션이정의된모든세션변수는전역변수로선언되어짐 Page 8 4

세션변수의선언 (2/5) session_id() string session_id ([string id]) 세션은사용자에게유일한값인세션 ID를부여하여다른사용자와구분함 session_id() 함수를이용하여현재사용자의세션 ID를알수있음 session_save_path() string session_save_path ([string path]) 지정되어있는 PATH 로이동하면 sess_ 로시작하는파일에저장 Page 9 세션변수의선언 (3/5) session_id() 예제 (session_id.php) session_register ( session_var ); $session_var = This is a Session variable ; print 세션ID:. session_id (); Page 10 5

세션변수의선언 (3/5) session_save_path() 예제 (session_save_path.php) print 세션의저장위치 :. session_save_path (); Let s see C:/APM_Setup/phptemp Page 11 세션변수의선언 (4/5) 배열형변수의세션등록 (arr_session.php, arr_session_view.php) session_register ( fruit ); $fruit = array ( Apple, Banana, Pear, Orange ); <a href=./arr_session_view.php > 확인 </a> session_start (); foreach ($fruit as $fr) print $fr<br> ; Page 12 6

세션변수의선언 (5/5) 실행결과 : 배열형변수의세션등록 Page 13 세션의조작 (1/3) session_unregister() bool session_unregister (string name) name: 등록을취소하고자하는변수의이름 등록이성공적으로취소되었을때 TRUE를리턴 session_unset() void session_unset (void) 등록된변수들의값을초기화 (initialization) session_destroy() bool session_destroy (void) 등록된변수들을파괴 (destruction) Page 14 7

세션의조작 (2/3) 세션변수의등록취소 (session_reg_unreg1/2.php) session_register ( var1 ); session_register ( var2 ); $var1 = Variable1 ; $var2 = Variable2 ; session_unregister() 함수를이용하여 $var2 를제거 session_unregister ( var2 ); <a href=./viewvar.php > 확인페이지 </a> session_start (); print $var1<br> ; print $var2 ; Page 15 세션의조작 (3/3) session_unset(), session_destroy() 의사용예 (session_mani1/2/3.php) session_register ( apple ); $apple = 4; <a href=./session_mani2.php >session_unset() 함수사용 </a><br> <a href=./session_mani3.php >session_destroy() 함수사용 </a> session_start (); session_unset (); print $apple; session_unset: 변수값초기화 session_destroy: 세션데이터파괴 session_start (); session_destroy (); print $apple; Page 16 8

간단한장바구니구현 (1/7) session/products.inc $fruit = array ( 사과 => 10, 배 => 20, 복숭아 => 30, 수박 => 40, 감 => 50, 토마토 => 60, 바나나 => 70, 키위 => 80, 파인애플 => 90, 대추 => 100); Page 17 간단한장바구니구현 (2/7) session/product_list.php <html> <body> <p><font size= 6 > 제품목록 </font></p> <p><a href= cart.php > 장바구니 </a></p> <table width= 420 border= 1 cellpadding= 1 > <tr align= center > <td width= 200 > 이름 </td> <td width= 80 > 가격 </td> <td width= 140 > 장바구니 </td> </tr> include (./products.inc ); while (list ($name, $price) = each ($fruit)) <form name= insert_form method= post action=./cart.php?code=insert&name=<?=$name > Page 18 9

간단한장바구니구현 (3/7) session/product_list.php ( 계속 ) <tr> <td width= 200 ><?=$name</td> <td width= 80 align= right ><?=$price 원 </td> <td width= 140 align= center > 수량 <select name= amount > <option value=1>1</option><option value=2>2</option> <option value=3>3</option><option value=4>4</option> <option value=5>5</option> </select> <input type= submit name= submit value= 추가 > </td> </tr> </form> </table> </body> </html> Page 19 간단한장바구니구현 (4/7) 출력결과 (product_list.php) Page 20 10

간단한장바구니구현 (5/7) session/class.inc class Cart var $contents; function add ($name, $amount) $this->contents[$name] = $amount; function delete ($name) if (count ($this->contents) > 0) while (list ($key, $value) = each ($this->contents)) if ($key!= $name) $new_cart[$key] = $value; $this->contents = $new_cart; function get_list() return $this->contents; function get_count() return count ($this->contents); Page 21 간단한장바구니구현 (6/7) 세션시작및장바구니객체생성, 메소드이용 (session/cart.php) 자세한 Source 는교제참조 include (./class.inc ); include (./products.inc ); session_start (); if (!session_is_registered ( cart )) $cart = new Cart; session_register ( cart ); if ($code == insert ) $cart->add ($name, $amount); else if ($code == delete ) $cart->delete ($name); Page 22 11

간단한장바구니구현 (7/7) 현재장바구니의상황을보여주는부분 (session/cart.php) 자세한 Source 는교재참조 if ($cart->get_count ()) $sum = 0; $contents = $cart->get_list (); while (list ($name, $value) = each ($contents)) $sum += $value[amount] * $fruit[$name]; print 이름 :. $name. <br> ; print 수량 :. $value[amount]. <br> ; echo 총합 :. $sum. <br> ; Page 23 12