งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

PHP & Session. คุยกันเรื่อง session Session เป็นตัวแปรคล้าย คุกกี้ ข้อมูลที่ถูกเก็บในตัวแปร session จะถูกบันทึก เป็นไฟล์ session เช่นเดียวกับไฟล์คุกกี้

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "PHP & Session. คุยกันเรื่อง session Session เป็นตัวแปรคล้าย คุกกี้ ข้อมูลที่ถูกเก็บในตัวแปร session จะถูกบันทึก เป็นไฟล์ session เช่นเดียวกับไฟล์คุกกี้"— ใบสำเนางานนำเสนอ:

1 PHP & Session

2 คุยกันเรื่อง session Session เป็นตัวแปรคล้าย คุกกี้ ข้อมูลที่ถูกเก็บในตัวแปร session จะถูกบันทึก เป็นไฟล์ session เช่นเดียวกับไฟล์คุกกี้ แต่ session จะเก็บไฟล์ไว้ที่ฝั่งเซิร์ฟเวอร์ ความแตกต่างของ Cookie กับ Session คือ อายุของตัวแปร อายุของ Cookie ถูกกำหนด ด้วยเวลา อายุของ Session ถูกกำหนดด้วยการ ทำงานของเบราเซอร์

3 คุยกันเรื่อง session ต่อ ถึงแม้ไฟล์ session จะถูกเก็บทางฝั่งเซิร์ฟเวอร์ เพียงแห่งเดียว แต่ทุกครั้งที่ผู้ใช้เรียกสคริปต์ที่มี การประกาศตัวแปร session PHP จะสร้างไฟล์ session เพื่อเก็บข้อมูลตัวแปร session และ กำหนด session ID ขึ้นมาสำหรับผู้ใช้แต่ละคน ซึ่ง session ID ที่กำหนดขึ้นมานั้น จะมีค่าที่ไม่ ซ้ำกัน และ session ID จะเป็นส่วนหนึ่งของชื่อ ไฟล์ session ด้วย

4 คุยกันเรื่อง session ต่อ ความแตกต่างของ Cookie กับ Session คือ อายุของตัวแปร อายุของ Cookie ถูกกำหนด ด้วยเวลา อายุของ Session ถูก กำหนดด้วยการทำงาน ของเบราเซอร์

5 การมีอยู่ของ Session Session เริ่มมีอายุตั้งแต่ถูกประกาศ และจะ ยังคงมีอยู่ตราบเท่าที่เบราเซอร์ยังคงเปิดใช้งาน อยู่ หมายความว่าตัวแปร session จะหมดอายุ เมื่อเบราเซอร์ถูกปิด และต้องเป็นการปิดทุก หน้าต่างด้วย ( ทั้งที่เกี่ยวข้องและไม่เกี่ยวข้อง )

6 Session ดียังไง เอาข้อมูลของผู้ใช้ไปเก็บไว้ที่ฝั่งเซิร์ฟเวอร์ไว้ ทำไม ??? เพราะปัญหาของผู้ใช้ที่คิดว่า cookie ไปละเมิด สิทธิส่วนบุคคล จึงทำให้เบราเซอร์ต่างๆ ต้องให้ ผู้ใช้สามารถเลือกได้ว่าจะอนุญาตให้ใช้คุกกี้ได้ หรือไม่ ถ้าผู้ใช้กำหนดไม่ยอมรับคุกกี้ ตัวแปรคุกกี้ก็ไม่มี สิทธิ์ไปสร้างไฟล์ไว้ได้ ดังนั้นมันจึงเกิดปัญหา หากว่าเราต้องการเก็บค่าข้อมูลเพื่อใช้ได้หลายๆ ครั้ง ก็จะลำบาก session น่าจะเป็นคำตอบของ เรื่องนี้

7 What are sessions? HTTP: a stateless protocol Joe Mary Web server Client 1 Client 2

8 Why do we need sessions? e-commerce CUSTOM web pages for different users (users can log in to web database) A SESSION associates DATA with a USER for duration of their entire visit

9 How to store session info 1. Cookies Cookies store client-specific data on the client 2. Session files N.B. client may reject cookie! Security issues? Max cookie size 4k Sessions store client-specific data on the server Sessions are tagged with a unique session id

10 Cookies A cookie is a small piece of text containing identifying information –Sent by server to browser on first interaction –Sent by browser to the server that created the cookie on further interactions part of the HTTP protocol –Server saves information about cookies it issued, and can use it when serving a request E.g., authentication information, and user preferences Cookies can be stored permanently or for a limited time

11 Session ids JoeMary Web server Session ID

12 Session management PHP4 includes functions to: manage session data on the server generate random session ID to identify user saves session ID: either with a cookie (N.B. session ID only) or in the query string

13 ประกาศตัวแปร session การประกาศตัวแปร session จะใช้ฟังก์ชัน ตัวอย่าง session_register(‘name’) name เป็นชื่อตัวแปร session ที่เราต้องประกาศ ส่วนค่าที่คืนออกมาจากฟังก์ชัน เป็น boolean เพื่อบอกว่าสำเร็จหรือไม่ * ฟังก์ชันนี้ใช้สำหรับประกาศตัวแปร session เพียงหนึ่งตัวเท่านั้น session_register(‘Mysession’)

14 การใช้งานตัวแปร session หลังจากประกาศตัวแปร session แล้วสามารถ เรียกใช้ตัวแปร session ได้ทันทีภายในสคริปต์ ที่มีการประกาศตัวแปร session แต่ถ้าต้องการเรียกใช้งานตัวแปร session ใน สคริปต์อื่นๆ ต้องมีการประกาศฟังก์ชัน session_start() ไว้ก่อนที่จะใช้ตัวแปร session เพื่อบอกให้ตัวแปร PHP ทราบว่าเรากำลังจะ เรียกใช้ตัวแปร session แล้ว

15 การใช้งานตัวแปร session เรียกจากตัวแปร PHP (PHP variable) ตัวอย่าง $HTTP_SESSION_VARS[“name”]

16 ตัวอย่าง session Testsession1.php Testsession2.php

17 การลบตัวแปร session บางตัว ถ้าประกาศตัวแปร session ไว้หลายตัว แล้ว ต้องการลบตัวแปร session บางตัว โดยที่ยังไม่ ปิดเบราเซอร์ ให้ใช้ฟังก์ชัน ตัวอย่าง session_unregister(“name”) name เป็นชื่อตัวแปร session ที่เราต้องประกาศ ส่วนค่าที่คืนออกมาจากฟังก์ชัน เป็น boolean เพื่อบอกว่าสำเร็จหรือไม่ * ฟังก์ชันนี้ใช้สำหรับการลบตัวแปร session เพียงหนึ่งตัวเท่านั้น session_unregister(‘Mysession’)

18 การลบตัวแปร session ทุกตัว ถ้าต้องการลบตัวแปร session ทุกตัวที่ประกาศ ไว้ ควรใช้ฟังก์ชัน การใช้ฟังก์ชันนี้จะทำการลบไฟล์ session ทุก ตัวที่ได้ประกาศไว้ ทางฝั่งเซิร์ฟเวอร์ทั้งหมด เรา จะไม่สามารถเรียกใช้ตัวแปร session ได้อีก จึง ควรระวังการใช้อย่างยิ่ง session_destroy( )

19 ไฟล์ session เก็บไว้ไหน ให้เข้าไปดูไฟล์ php.ini แล้วดูตำแหน่งไดเรก ทอรี่ที่เก็บไฟล์ session ได้ที่ ซึ่ง php แต่ละเวอร์ชั่นจะไม่เหมือนกัน session.save_path = ….

20 อื่นๆ ในไฟล์ php.ini ถ้าเราอยากให้สคริปต์อื่นเริ่มใช้งาน session ได้ เลย โดยไม่ต้องใช้คำสั่ง session_start() ก็ สามารถกำหนดได้โดยให้ กำหนดให้ตัวแปร session มีอายุเหมือนตัวแปร cookie แต่จะทำให้ตัวแปร session ทุกตัวมี อายุเท่ากันหมด ทำได้โดย session.auto_start = 1 { ปรกติค่าเป็น 0} session.cookie_lifetime = เวลาวินาที { ปรกติค่าเป็น 0}


ดาวน์โหลด ppt PHP & Session. คุยกันเรื่อง session Session เป็นตัวแปรคล้าย คุกกี้ ข้อมูลที่ถูกเก็บในตัวแปร session จะถูกบันทึก เป็นไฟล์ session เช่นเดียวกับไฟล์คุกกี้

งานนำเสนอที่คล้ายกัน


Ads by Google