PHP & Session.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
Advertisements

Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
INTRODUCTION TO C LANGUAGE
The Management of Distributed Transaction
Accessing Web Application Data at Any Time 1. 2 อาจารย์ที่ปรึกษาโครงการ ผศ. กานดา สายแก้ว อาจารย์ผู้ร่วมประเมินโครงการ ผศ. อนัตต์ เจ่าสกุล รศ. วนิดา แก่นอากาศ.
Chapter 7 ขอบเขตของตัวแปร Variable Scope.
Chapter IV : สร้างการติดต่อ
Ordering and Liveness Analysis ลำดับและการวิเคราะห์บอกความ เป็นอยู่หรือความตาย.
Accessing Web Application Data at Any Time 1. 2 อาจารย์ที่ปรึกษาโครงการ ผศ. กานดา สายแก้ว อาจารย์ผู้ร่วมประเมินโครงการ ผศ. อนัตต์ เจ่าสกุล รศ. วนิดา แก่นอากาศ.
ชนิดของข้อมูลและตัวดำเนินการ
Security and Integrity
Function.
JavaScript.
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
การพัฒนาการใช้งานในระบบเว็บ
PHP LANGUAGE.
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
Request Object.
Response Object.
Electronic SECurity with PKI
Php Variable , Expression Professional Home Page :PHP
PHP session / Login Professional Home Page :PHP
Php with Database Professional Home Page :PHP
Electronic Commerce Session and Cookies.
PHP.
PHP.
PHP Cookies / Session.
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
การเปลี่ยนแปลงเกี่ยวกับตัวแปร
PHP:Hypertext Preprocessor
ตัวแปรกับชนิดของข้อมูล
Memory Management ในยุคก่อน
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
ความรู้เบื้องต้น เกี่ยวกับภาษา PHP ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดง พิทยาคม.
คำสั่งแสดงผลในภาษา PHP
การใช้งาน access เบื้องต้น
การรับข้อมูลในภาษา php
Wh-Question.
1. 2  ในการใช้งานเว็บไซต์ โดยปกติเราจะไม่สามารถ ใช้งานตัวแปรที่มีลักษณะ Global ที่สามารถ นำไปใช้ได้กับเว็บเพจหน้าอื่นๆ ปกติในการใช้ งานค่าต่างๆ ของเว็บเพจ.
HTML, PHP.
Chapter 3 Set a Server by Linux.
ตัวแปรกับชนิดของข้อมูล
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Computer Programming for Engineers
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Computer Programming for Engineers
การเขียนโปรแกรม PHP เชื่อมต่อกับ MySQL
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ฟังก์ชัน.
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
CHAPTER 3 System Variables and Array
PHP: [8] การสร้างฟังก์ชั่นขึ้นใช้เอง (User-defined functions)
Introduction to PHP, MySQL – Special Problem (Database)
Uniform Resource Location ( URL)
Download PHP. C:\windows\PHP.ini cgi.force_red irect = 0 พิมพ์แทรก.
Introduction to the SAS® Intelligence Platform
PHP : [1] PHP เบื้องต้น. PHP คืออะไร ? PHP ได้รับการเผยแพร่เป็นครั้ง แรกในปี ค. ศ โดย Rasmus Lerdorf ต่อมาได้มีนัก โปรแกรมเมอร์เข้ามาช่วยในการ พัฒนาต่อมาตามลำดับ.
การรับข้อมูลใน ภาษา php ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
PHP. P ersonal H ome P age P rofessional H ome P age PHP : H ypertext P reprocessor.
การใช้ PHP ติดต่อฐานข้อมูล
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
Customer Relationship Management (CRM)
นายรัฐราษฎร์ เกื้อสกุล 1. 2 Disk Password Protection เป็นชุดของโปรแกรมสำหรับปกป้องและจำกัด การเข้าถึง Harddisk สามารถปกป้อง Disk/Partition ด้วย Password,
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
PHP Html Form && Query string
PHP FRAMEWORK – Web Programming and Web Database Asst. Prof. Dr. Choopan Rattanapoka.
PHP: Session. What is a PHP Session? Session variables solve this problem by storing user information to be used across multiple pages (e.g. username,
Multimedia Production
ใบสำเนางานนำเสนอ:

PHP & Session

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

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

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

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

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

HTTP: a stateless protocol What are sessions? HTTP: a stateless protocol Client 1 Web server Client 2 Joe Mary 1 2 3 4 5 6

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

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

Cookies can be stored permanently or for a limited time 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

Session ids Web server Joe Mary 37 95 37 95 Session ID Session ID

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

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

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

การใช้งานตัวแปร session เรียกจากตัวแปร PHP (PHP variable) ตัวอย่าง $HTTP_SESSION_VARS[“name”] <? session_register(“myweb”); $HTTP_SESSION_VARS[“myweb”] = “www.cs.su.ac.th”; print $HTTP_SESSION_VARS[“myweb”]; ?>

ตัวอย่าง session Testsession1.php <? session_register(“myweb”); $HTTP_SESSION_VARS[“myweb”] = “www.cs.su.ac.th”; print $HTTP_SESSION_VARS[“myweb”]; ?> Testsession2.php <? session_start(); Print “Testsession2.php<br>”; print $HTTP_SESSION_VARS[“myweb”]; ?>

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

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

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

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