PHP (3) - Function - cookie - Session

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การสร้างเว็บเพจด้วยภาษา Html
Advertisements

ASP.NET Uthai ShiangJan Information and Communication Technology.
จัดทำโดย น. ส. ดวงกมล งามอยู่เจริญ เลขที่ 8 น. ส. ณัชชา เชื้อตา เลขที่ 6 เตรียมบริหารธุรกิจปี 1.
การเพิ่ม ลบ จำกัดสิทธิ์ User จัดทำโดย 1. นายธัชนนท์ ต๊ะต้องใจ 1-B เลขที่ 4 2. นาย ไพบูรณ์ อินทะซาว 1-B เลขที่ 23.
ซอฟแวร์ที่สนใจ Adobe Acrobat 6.0 Professional.
การใช้งานโปรแกรม SPSS
Sc B011 Software ที่สนใจ. sc B012 VCD Cutter โปรแกรม ตัด - ต่อ VCD เฉพาะส่วนที่ ต้องการแบบง่าย ๆ.
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
คำสั่ง : TIMER และ TIMH (FUN15)
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
Pushdown Automata : PDA
ระบบบริหารงานบุคคล.
การเริ่มใช้งาน โปรแกรม นรด. เวอร์ชั่น 2003 และ ติดตั้งโปรแกรม ของ สถานศึกษา การเริ่มใช้งาน โปรแกรม นรด. เวอร์ชั่น 2003 และ ติดตั้งโปรแกรม ของ สถานศึกษา.
Array in PHP บทเรียนเรื่อง การใช้ Array ในภาษา PHP.
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
Winrar โปรแกรมย่อไฟล์ หลายครั้งที่เมื่อเราโหลดข้อมูลมาจากเว็บไซต์ ต่างๆ แล้วไฟล์ที่ได้มีนามสกุลเป็น.rar ซึ่งเราต้อง นำไฟล์นั้นมาแตกออกเพื่อที่เราจะได้ข้อมูลจริงๆที่
และสร้างเว็บไซต์ประเภทCMS
หน่วยที่ 6 แถวลำดับ (Array)
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,
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
เรื่อง หลักการเขียนโปรแกรม เบื้องต้น จัดทำโดย นางสาวชาดา ศักดิ์บุญญารัตน์
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
IT Manual SCM June 2016 By Prasert Dokmuang. 2 3.
การจัดเก็บข้อมูลในแฟ้มข้อมูลธรรมดา นั้น อาจจำเป็นที่ใช้แต่ละคน จะต้องมีแฟ้มข้อมูลของตนไว้เป็นส่วนตัว จึง อาจเป็นเหตุให้มีการเก็บข้อมูล ชนิดเดียวกันไว้หลาย.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ระบบตัวแทนจำหน่าย/ ตัวแทนขายอิสระ
“วิธีการใช้งาน PG Program New Version สำหรับ PGD”
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
ความรู้เบื้องต้นเกี่ยวกับ PHP Introduction to PHP
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
การติดต่อฐานข้อมูลและการแสดงผล
การพัฒนาการใช้งานในระบบเว็บ
PHP (1) - variables - math operations - form method
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
BC320 Introduction to Computer Programming
ระบบตัวแทนจำหน่าย/ ตัวแทนขายอิสระ
โครงสร้างภาษา C Arduino
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
Android Programming Getting Start Prawit Pimpisan Computer Science
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Object-Oriented Programming Paradigm
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
Week 5 C Programming.
ภัยคุกคาม ที่เกิดขึ้นในระบบสารสนเทศ
ตัวอย่างการจัดทำรายงานการผลิต และงบการเงิน
Data storage II Introduction to Computer Science ( )
หน่วยการเรียนรู้ การเขียนโปรแกรมภาษาขั้นพื้นฐาน เรื่อง โครงสร้างพื้นฐาน HTML 5 รหัส รายวิชา ง23102 การงานอาชีพและเทคโนโลยี 6 กลุ่มสาระ การงานอาชีพและเทคโนโลยี
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
2 โครงสร้างข้อมูลแบบสแตก (STACK).
Chapter 3 : Array.
Array: One Dimension Programming I 9.
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
ใบสำเนางานนำเสนอ:

PHP (3) - Function - cookie - Session 030523315 – Web Programming and Web Database Asst. Prof. Dr. Choopan Rattanapoka

งานที่ 5 : Review

ฟังก์ชัน (function) ในบางครั้ง เราอาจจะต้องการรูปแบบการประมวลผลที่ซ้ำ ๆ กัน จะเป็นการ ดีกว่า ถ้าเราเขียนโปรแกรมในรูปแบบของฟังก์ชัน Function พื้นฐาน <?php function writeMsg() {     echo "Hello world!"; } writeMsg(); ?> <?php function familyName($fname) {     echo "$fname Sommut.<br>"; } familyName(“Kim"); familyName("Kai"); familyName(“Bob"); ?> Function แบบมีการรับค่า

Function (2) Function แบบมีค่า default Function แบบมีคืนกลับ <?php function setHeight($minheight = 50) {     echo "The height is : $minheight <br>"; } setHeight(350); setHeight(); ?> Function แบบมีค่า default <?php function sum($x, $y) {     $z = $x + $y;     return $z; } echo "5 + 10 = " . sum(5, 10) . "<br>"; echo "7 + 130 = " . sum(7, 13) . "<br>"; ?> Function แบบมีคืนกลับ

ขอบเขตของตัวแปร ตัวแปรในภาษา PHP มี 3 ประเภทคือ local, global และ static global local <?php function func( $x ) { $z = 0;     $z = $z + $x;     echo $z . “<br>”; } func( 10); echo $z; ?> <?php $z = 20; function func( $x ) { $z = 0;     $z = $z + $x;     echo $z . “<br>”; } func( 10); echo $z; ?> <?php $z = 20; function func( $x ) { global $z;     $z = $z + $x;     echo $z; } func( 10); echo $z; ?>

ตัวแปรประเภท static <?php function func( $x ) { static $z = 0;     $z = $z + $x;     echo $z . “<br>”; } func( 10 ); ?>

ฟังก์ชันที่สำคัญสำหรับจัดการกับ String strlen( ข้อความ ) : นับจำนวนตัวอักษรในข้อความ str_word_count( ข้อความ ) : นับจำนวนคำในข้อความ strrev( ข้อความ ) : กลับข้อความจากหน้าไปหลัง strpos(ข้อความ , คำที่ค้น) : ค้นหาตำแหน่งเริ่มต้นของคำ str_replace(คำที่ค้น, คำที่จะแทนที่, ข้อความ) : ค้นหาและแทนที่ข้อความ explode(ตัวแยกคำ, ข้อความ) : แตกข้อความตามตัวแยกคำออกมาเป็น array htmlspecialcars( ข้อความ ) : แปลงข้อความตรงตัวอักษร < , >ให้อยู่ใน รูปของ < และ >

include และ require ในบางครั้งเราต้องการแยกเนื้อหาข้อมูลออกเป็นหลายๆ ไฟล์ หรือต้องการใช้ข้อมูลเดียวกัน หลายๆ หน้า สามารถที่ใช้การ include หรือ require ได้ web.php footer.php Hello World <?php include “footer.php”; ?> <hr> @copyright .. Hello World <hr> @copyright .. ข้อแตกต่างของ include กับ require คือ ถ้าใช้ include แล้วไม่เจอ file จะมี warning ขึ้น แต่หน้าเว็บยังคงทำงานต่อไป ถ้าใช้ require แล้วไม่เจอ file หน้าเว็บจะ error แล้วหยุดการทำงานทันที

die() บางครั้งเมื่อเขียนโปรแกรม PHP ยาวๆ แล้วโปรแกรม PHP ทำงานไม่ ถูกต้อง หรือ กรณีพบข้อผิดพลาดระหว่างการทำงานของโปรแกรม สามารถ นำฟังก์ชัน die ( ) มาประยุกต์ใช้ได้ die( ) คือ ให้โปรแกรมหยุดการทำงานทันที <?php echo "1<BR>"; echo "2<BR>"; die(); echo "3<BR>"; echo "4<BR>"; ?>

Cookie และ Session ทั้ง Cookie และ Session เป็นการเก็บค่าข้อมูลเพื่อใช้กับหน้าเว็บทุก หน้า โดยมีข้อแตกต่างกันคือ Cookie จะเก็บข้อมูลลงบนเครื่องผู้ใช้งาน และข้อมูลจะหายเมื่อมีการเปลี่ยน เครื่องใช้งาน หรือ cookie ที่เก็บไว้หมดอายุ Session จะเก็บข้อมูลที่ฝั่ง server และข้อมูลจะหายเหมือนมีการปิด session หรือ session หมดอายุ

การสร้าง Cookie วิธีการสร้าง Cookie ตัวอย่าง setcookie(ชื่อตัวแปร, ค่า, เวลาหยุดอายุ, path ที่ cookie ใช้งานได้, domain, secure, httponly); ข้อมูลที่จำเป็นต้องใส่คือ ชื่อตัวแปร เวลาหยุดอายุ (วินาที) ถ้าไม่ใส่จะถือว่าอายุจะหมดเมื่อมีการปิดเว็บ browser path, domain ถ้าไม่ใส่จะเป็น path ปัจจุบัน http://php.net/manual/en/function.setcookie.php ตัวอย่าง setcookie(“username”, “choopan”); setcookie(“username”, “choopan”, time() + (10 * 60));

การใช้งาน cookie เมื่อการสร้าง cookie แล้ว ทุกหน้าเว็บที่อยู่ภายใต้ domain และ path ที่กำหนดจะสามารถดึงค่าของ cookie ได้ผ่าน $_COOKIE ตัวอย่าง $username = $_COOKIE[‘username’]; 2.php <?php setcookie('username', 'choopan', time()+(1*60)); ?> <a href="2.php">next page</a> <?php echo $_COOKIE['username']; ?> 1 นาที แล้ว refresh

การเปลี่ยนค่า และยกเลิก cookie ถ้าต้องการเปลี่ยนค่าของตัวแปรใน cookie สามารถใช้ setcookie ตัว แปรเดิมด้วยค่าใหม่ได้เลย setcookie (ชื่อตัวแปร, ค่าใหม่, ระยะเวลา…); ถ้าต้องการยกเลิกการใช้งาน cookie สำหรับตัวแปรใดๆ ให้ตั้งเวลาติดลบ จากปัจจุบันเช่น setcookie(ชื่อตัวแปร, “”, time() – 3600); การใช้งาน cookie บางครั้งจะมีปัญหา หรือใช้งานไม่ได้เนื่องจากผู้ใช้ อาจจะปิดไม่ยอมรับ cookie จาก option ใน web browser ของ ตัวเอง

PHP Session : สร้างและใช้งาน เป็นตัวแปรที่ใช้ร่วมกันทุกหน้าเว็บ ภายใต้ session ของ web browser (ตั้งแต่เปิด browser จนปิด browser) จะเก็บข้อมูลที่ฝั่ง Server การสร้างและใช้งานตัวแปร session จะต้องใช้คำสั่ง session_start(); จะต้องมีการเรียกใช้งาน ก่อนมีการ output ข้อมูลหน้าเว็บเสมอ จากนั้นจะสามารถใช้งานตัวแปร $_SESSION ได้ <?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php $_SESSION["favcolor"] = "green"; $_SESSION["favanimal"] = "cat"; ?> </body> </html>

PHP Session : การทำลาย การทำลาย session นั้น จะใช้ session_unset( ); เพื่อ clear ตัวแปรทุกตัวใน session session_destroy( ); เพื่อทำลาย session นั้นทิ้ง <?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset();  // destroy the session  session_destroy();  ?> </body> </html>

PHP Session: isset และ unset session_unset( ) และ session_destroy( ) เป็นการล้าง หรือ ทำลายข้อมูลของ session ทั้งหมด ถ้าต้องการล้างค่าของ ตัวแปร บางตัวใน session จะใช้ unset(ชื่อตัวแปร) เช่น unset($_SESSION[‘name’]); ถ้าต้องการตรวจสอบว่า มีค่าตัวแปรนี้ใน session หรือไม่จะใช้ isset(ชื่อตัวแปร) เช่น isset($_SESSION[‘name’]); ผลลัพธ์จะคืนเป็นบูลีน true/false

ตรวจสอบสิทธิการเข้าถึงหน้าเว็บด้วย Session ตัวอย่างกระบวนการง่ายๆ หน้า Login เรียกใช้ session_start() เพื่อเปิดการทำงานของ session เมื่อมีการ Login สำเร็จ สร้างตัวแปร session อย่างน้อยหนึ่งตัว เช่น userID เป็นต้น หรือ บางครั้งอาจจะใช้ session_id( ) เพื่อดึงค่า ID ของ session เช่น $_SESSION[‘id’] = session_id(); $_SESSION[‘userid’] = 100; หน้าอื่นๆ เรียกใช้ session_start() ตรวจสอบค่าของ session ว่ามีมาแล้วหรือไม่ ถ้าไม่มีแสดงว่ายังไม่ได้ login เช่น if(!isset($_SESSION[‘id’]) || $_SESION[‘id’] != session_id() ) { header("Location: http://www.homepage.com/"); die(); }

งานที่ 5 : verify.php แก้ชื่อไฟล์ทุกไฟล์ให้เป็น .php แล้วแก้ลิงค์ต่างๆ ที่กระทบให้ครบ กำหนดถ้า Login เป็น admin สำเร็จ ให้สร้างตัวแปร session ชื่อ username เพื่อเก็บคำว่า admin ให้สร้างตัวแปร session ชื่อ role เพื่อเก็บคำว่า a ให้สร้างตัวแปร session ชื่อ id เก็บค่า session_id() กำหนดถ้า Login เป็น member สำเร็จ ให้สร้างตัวแปร session ชื่อ username เพื่อเก็บคำว่า member ให้สร้างตัวแปร session ชื่อ role เพื่อเก็บคำว่า m

งานที่ 5 : index.php ถ้า Login ผ่าน (มี session) จะแสดงคำว่า “ผู้ใช้งานระบบ : ค่าของ username ที่อยู่ใน session” ลิงค์ “เข้าสู่ระบบ” จะกลายเป็น “ออกจากระบบ” และเมื่อกดจะไปหน้า logout.php มี ลิงค์ “สร้างกระทู้ใหม่” ที่เมื่อกดจะไปยังหน้า newpost.php ถ้าเข้ามาด้วย role ที่เป็น a จะมี ลิงค์ “ลบ” ที่ไปยังหน้า delete.php?id=เลขกระทู้

งานที่ 5 : logout.php ให้ clear session ออกให้หมด แล้ว redirect หน้าไปยัง index.php

งานที่ 5 : delete.php จะรับค่า id ผ่านทาง GET แล้วแสดงข้อความว่า ลบกระทู้หมายเลข xx xx คือ ค่าของ id ที่ส่งมา ต้องตรวจสอบสิทธิ์ถ้า ไม่ใช่ admin แล้วพยายามแอบเข้าหน้า delete.php จะต้องถูกส่งกลับไปยังหน้า index.php ทันที

งานที่ 5 : newpost.php แสดงชื่อ Login ถ้าไม่ได้ผ่านการ Login เข้ามาแล้วผู้ใช้พยายามจะเข้าหน้า newpost.php จะต้อง redirect หน้าไปที่ index.php

งานที่ 5: login.php, register.php, verify.php ทั้ง 3 หน้านี้ จะต้อง ดักเอาไว้ว่า ถ้าได้ Login ผ่านมาแล้ว จะไม่ สามารถเข้ามาหน้านี้ได้ ถ้าผู้ใช้พยายามเข้าผ่าน URL ตรงๆ จะต้อง ย้ายหน้าให้กลับมาที่ index.php ทันที สุดท้าย : เมื่อเสร็จงานที่ 5 นี้ จะต้องมีไฟล์หน้าเว็บทั้งหมด 8 ไฟล์ delete.php index.php login.php logout.php newpost.php post.php register.php verify.php