ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Electronic Commerce Session and Cookies
2
ปัญหาการส่งข้อมูลข้ามเพจ
ให้สร้างเพจขึ้นมา 3 เพจ ชื่อ page1.php,page2.php,page3.php page1 มีฟอร์มที่มีกล่องรับข้อความสำหรับกรอกชื่อผู้ใช้ เมื่อกดปุ่ม submit จะส่งค่าไปเรียก page2.php page2 มีฟอร์มรับหมายเลขบัตรเครดิตของผู้ใช้ เมื่อกดปุ่ม submit จะส่งค่าไปเรียก page3.php page3 แสดงตัวแปรจาก page1 และ page2
3
ตัวแปร Session ตัวอย่างการใช้ Session เช่น Hotmail เมื่อเราลงชื่อเข้าใช้และไปที่เพจต่างๆ ในเว็บเมล์ เซิร์ฟเวอร์จะทราบว่าเราเป็นผู้ใช้คนไหนไม่ว่าจะเปลี่ยนเพจไป จนกว่าเราจะลงชื่อออก ก่อนใช้งานตัวแปร session ต้องเรียกใช้ฟังก์ชัน session_start() ก่อนคำสั่งแสดงผล (echo) และต้องเขียนก่อนเริ่มโค้ด html การอ่านหรือบันทึกค่าตัวแปร session ใช้ตัวแปร $_SESSION เช่น ถ้าต้องการใช้ตัวแปรชื่อ user จะเขียนว่า $_SESSION[“user”] การตรวจสอบว่ามีตัวแปร session อยู่หรือไม่ ใช้ฟังก์ชัน isset() เช่น isset($_SESSION[“user”])
4
PHP Sessions <? session_start(); $_SESSION[“user”] = “u52wns”;
การใช้งาน สร้าง session ชื่อ user มีค่า u52wns <? session_start(); $_SESSION[“user”] = “u52wns”; ?>
5
PHP Sessions <? isset($_SESSION[“user”]) { //welcome message
} else { //login form } ?>
6
ตัวแปร Session จะหายไปเมื่อไร
ผู้ใช้ปิดเว็บเบราเซอร์ ผู้ใช้ไม่ได้ติดต่อกับเซิร์ฟเวอร์เป็นเวลานานจนกระทั่ง session หมดอายุ การกำหนดเวลา session หมดอายุ ให้ไปแก้ไขไฟล์ c:\windows\php.ini เปลี่ยนตัวแปรชื่อ session.gc_maxlifetime ค่าเริ่มต้นคือ 1440 (24 นาที) เรียกใช้ฟังก์ชัน unset() สำหรับทำลาย session แต่ละตัว เช่น unset($_SESSION[“user”] เพื่อลบตัวแปร session ชื่อว่า “user” เรียกใช้ฟังก์ชัน session_destroy() สำหรับทำลาย session ทุกตัว <? session_destroy(); ?>
7
การลบตัวแปร session ทุกตัว
การใช้ฟังก์ชันนี้จะทำการลบไฟล์ session ทุกตัวที่ได้ประกาศไว้ ทางฝั่งเซิร์ฟเวอร์ทั้งหมด เราจะไม่สามารถเรียกใช้ตัวแปร session ได้อีก จึงควรระวังการใช้อย่างยิ่ง session_destroy( )
8
คุกกี้ (Cookie) ตัวแปร session จะถูกลบเมื่อผู้ใช้ปิดเว็บเบราเซอร์ ถ้าต้องการให้ตัวแปรยังคงอยู่หลังจากปิดเบราเซอร์ไปแล้ว ต้องใช้ตัวแปรคุกกี้ Cookies โดยทั่วไปจะใช้สำหรับระบุตัวตนและความมีอยู่ของ users ช่วยให้ users ไม่จำเป็นต้อง login ซ้ำซ้อน เป็นไฟล์ขนาดเล็กที่ถูกสร้างโดยสคริปต์ทางฝั่ง Server แล้วฝังตัวอยู่บนคอมพิวเตอร์ทางฝั่ง Clients ใช้ฟังก์ชัน setcookie() การสร้างตัวแปรคุกกี้ชื่อ user มีค่าเท่ากับ 0 และหมดอายุในอีกสิบนาทีข้างหน้า setcookie(“user”, “0”, time() +600); echo $_COOKIE[“user”];
9
PHP Cookies <? isset($_COOKIE[“user”]) { //welcome message } else {
การตรวจสอบความมีอยู่ของ sessions ใช้คำสั่ง isset <? isset($_COOKIE[“user”]) { //welcome message } else { //login form } ?>
10
PHP Cookies การลบ Cookies
ใช้ฟังก์ชัน setcookie โดยกำหนดให้ expire เป็นเวลาในอดีต setcookie(“user”, “u48wns”, time() );
11
ตัวแปร Session กับ Cookie
Session มีข้อดีคือปลอดภัยสูง เพราะข้อมูลที่ถูกเก็บในตัวแปร session จะเก็บไฟล์ไว้ที่ฝั่งเซิร์ฟเวอร์ คุกกี้มีข้อดีคือ ถึงแม้ผู้ใช้จะปิดเบราเซอร์ไป ตัวแปรคุกกี้ยังคงอยู่ (ถ้ายังไม่หมดอายุ) ข้อเสียคือ ความเป็นส่วนตัว บางเว็บไซต์ใช้คุกกี้ตรวจสอบว่าผู้ใช้เข้าเว็บไซต์ใดบ้าง ใช้ตัวแปร seesion เก็บข้อมูลสำคัญ เช่น รหัสผ่าน ความแตกต่างของ Cookie กับ Session คืออายุของตัวแปร อายุของ Cookie ถูกกำหนดด้วยเวลา อายุของ Session ถูกกำหนดด้วยการทำงานของเบราเซอร์
12
การมีอยู่ของ Session Session เริ่มมีอายุตั้งแต่ถูกประกาศ และจะยังคงมีอยู่ตราบเท่าที่เบราเซอร์ยังคงเปิดใช้งานอยู่ หมายความว่าตัวแปร session จะหมดอายุเมื่อเบราเซอร์ถูกปิด และต้องเป็นการปิดทุกหน้าต่างด้วย (ทั้งที่เกี่ยวข้องและไม่เกี่ยวข้อง)
13
Session ดียังไง เอาข้อมูลของผู้ใช้ไปเก็บไว้ที่ฝั่งเซิร์ฟเวอร์ไว้ทำไม ??? เพราะปัญหาของผู้ใช้ที่คิดว่า cookie ไปละเมิดสิทธิส่วนบุคคล จึงทำให้เบราเซอร์ต่างๆ ต้องให้ผู้ใช้สามารถเลือกได้ว่าจะอนุญาตให้ใช้คุกกี้ได้หรือไม่ ถ้าผู้ใช้กำหนดไม่ยอมรับคุกกี้ ตัวแปรคุกกี้ก็ไม่มีสิทธิ์ไปสร้างไฟล์ไว้ได้ ดังนั้นจึงเกิดปัญหา หากว่าเราต้องการเก็บค่าข้อมูลเพื่อใช้ได้หลายๆ ครั้ง ควรใช้ session
14
แบบฝึกหัด ให้สร้างฟอร์ม user.php เพื่อรับชื่อผู้ใช้และรหัสผ่านจากผู้ใช้ และให้ส่งค่าชื่อผู้ใช้และรหัสผ่านไปยัง check.php check.php ให้ทำการตรวจสอบชื่อผู้ใช้ และรหัสผ่าน หากเหมือนกันให้แสดงชื่อผู้ใช้ และให้นำชื่อผู้ใช้นั้นไปแสดงยังหน้าต่อไปคือ show.php
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.