การใช้งาน session (เซสชั่น) เบื้องต้นใน PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
pprn
PHP Super Hero Member
PHP Super Hero Member
Posts: 565
Joined: 02/07/2018 10:45 am

การใช้งาน session (เซสชั่น) เบื้องต้นใน PHP

Post by pprn »

  • Session (เซสชั่น) คือ ตัวแปรในภาษา PHP ซึ่งมีคุณสมบัติทุกอย่างเหมือนกับตัวแปรปกติ สามารถเก็บค่าข้อความหรือตัวเลขและตัวแปรที่เป็น Object ต่างๆ
ได้ แต่มีความพิเศษคือค่าตัวแปรจะยังคงอยู่ไม่ว่าจะเปลี่ยนหน้าไปหน้าใดก็ตาม ตัวแปรเซสชั่นนิยมนำมาใช้ในการรับส่งค่าข้อมูลที่เก็บเป็นความลับที่จะต้องใช้ในการระบุ

ตัวตนโดยใช้สิทธิ การยืนยันตัวตนด้วย Username และ Password เพื่อให้ได้ค่าตัวแปรนี้มาระบุตัวตน ตัวแปรเซสชั่นจึงมีความปลอดภัยในการเก็บรักษาข้อมูลได้อย่าง

มาก



1. เริ่มต้นใช้เซสชั่น (session)
  • รูปแบบการเริ่มต้นใช้เซสชั่น
ก่อนการใช้งานตัวแปรเซสชั่น เพื่อโหลดข้อมูลเซสชั่น (session) มาเก็บไว้ที่หน่วยความจำ ต้องใช้คำสั่งเพื่อเปิดเซสชั่นดังนี้

Code: Select all

<?php
session_start();
?>
ตัวอย่าง
  • โค้ด ส่วนกำหนดตัวแปรเซสชั่น (session)
หน้า Index.php

Code: Select all

<?php
session_start();
ob_start();
$_SESSION['a']="Hello World";
?>
  • โค้ด ส่วนแสดงผลตัวแปรเซสชั่น (session)
หน้า Hello.php

Code: Select all

<?php
session_start();
ob_start();
echo $_SESSION['a']; // ผลลัพธ์คือแสดงข้อความ Hello World
?>
ผลลัพธ์
  • หน้า Hello.php
เมื่อ run ขึ้นมาจะแสดงข้อความ Hello World
หน้า Hello.php
หน้า Hello.php
hello.JPG (14.15 KiB) Viewed 2127 times


2. การลบค่าเซสชั่น (session)

  • รูปแบบการลบค่าเซสชั่น (session) ในการลบเฉพาะตัวแปรเดียว

Code: Select all

<?php unset($_SESSION['session-name']); ?>
  • รูปแบบการลบค่าเซสชั่น (session) ทั้งหมด

Code: Select all

<?php  session_destroy(); ?>
ตัวอย่าง
  • โค้ด การลบค่าเซสชั่น (session) ในการลบเฉพาะตัวแปรเดียว
ผลลัพธ์ที่ได้จะถูกลบเฉพาะตัวแปร

Code: Select all

<?php
session_start();
ob_start();
$_SESSION['simple']="Hello";
unset($_SESSION['simple']);
?>
  • โค้ด การลบค่าเซสชั่น (session) ทั้งหมด

Code: Select all

<?php
session_start();
ob_start();
$_SESSION['simpleTest']="Hello World";
session_destroy();
?>
3. การใช้งานเซสชั่น (session) และอาเรย์ (Array)

  • รูปแบบการกำหนดตัวแปรเซสชั่น (session) และอาเรย์ (Array)

Code: Select all

<?php $_SESSION['session-name']=array('variable1','variable 2,'variable 3',.....); ?>
ตัวอย่าง

  • โค้ด กำหนดตัวแปร
หน้า index.php

Code: Select all

<?php
session_start();
ob_start();
$_SESSION['arrData']=array('Anny','PaoPao','Jan');
?>
  • โค้ด แสดงผลตัวแปรอาเรย์
หน้า simple.php

Code: Select all

<?php
session_start();
ob_start();
echo 'Contact list ';
$count=1;
foreach($_SESSION['arrData'] as $val){
echo $count.') '.$val.' ';
$count+=1;
}
?>
ผลลัพธ์

ผลลัพธ์จากการกำหนดตัวแปรเซสชั่น (session) และอาเรย์ (Array)
ผลลัพธ์จากการกำหนดตัวแปรเซสชั่น (session) และอาเรย์ (Array)
ผลลัพธ์จากการกำหนดตัวแปรเซสชั่น (session) และอาเรย์ (Array)
contact.JPG (11.01 KiB) Viewed 2127 times

----------------------------------------------------------------------------------------------------------------------------------------------------------------
_____________________________________________________________________________________________
บทความนี้เเป็นบทความที่จัดทำขึ้นเพื่อเนะนำเครื่องมือช่วยสำหรับนักพัฒนา PHP ซึ่งเป็นความรู้พื้นฐานในการพัฒนา PHP ต่อไป เเละขอเเนะนำความรู้ที่เกี่ยวข้องกับโดยสามารถศึกษาได้จากบทเรียน PHP ได้ที่นี่ เพื่อเพิ่มความเข้าใจในการใช้งานเครื่องมือต่างๆ ค่ะ
_____________________________________________________________________________________________

----------------------------------------------------------------------------------------------------------------------------------------------------------------
makup
PHP Super Member
PHP Super Member
Posts: 397
Joined: 05/10/2020 10:02 am

Re: การใช้งาน session (เซสชั่น) เบื้องต้นใน PHP

Post by makup »

**********************เพิ่มเติมข้อมูล อธิบาย การใช้งาน Session PHP**********************

วิธีการใช้งาน Session
การใช้งานคำสั่ง Session เอาไว้สำหรับ เก็บ และ ส่งค่าตัวแปร ในรูปแบบ array สำหรับไว้ ทำงานข้ามหน้า หรือ ส่งตัวแปรข้ามหน้า , ก็จะมาแสดงขั้นตอน การทำงานของ Session ว่า มีกระบวนการทำงานรูปแบบเป็นอย่างไรกันบ้าง

------ ในส่วนของการทำงาน Backend จะมีการ สร้าง และ ส่งค่า Session ไป---------

Code: Select all

<?php
session_start();					//session_start() คือคำสั่ง ที่เอาไว้ใช้เริ่มการทำงานของ Session
$pet = "Dog";						//สร้างตัวแปร $pet เก็บค่า "Dog"					
$_SESSION["strpet"] = $pet;							//สามารถเก็บค่าตัวแปร $pet ไว้ใน Session ได้
$_SESSION["strName"] = "Mr.John";		        //$_SESSION["strName"] คำสั่งที่เอาไว้ใช้สร้างตัวแปร Session แบบ Array
$_SESSION["strSiteName"] = "www.google.Com";                          //$_SESSION["strSiteName"] คำสั่งที่เอาไว้ใช้สร้างตัวแปร Session แบบ Array
session_write_close();														//จบการ สร้าง Session

echo "Session Created.<br><br>";						//แสดงผลว่า ได้สร้าง Session Created. เรียบร้อยแล้ว
echo "<a href='Session_page_1.php'>Check Session</a>";            //ตรวจสอบ Session ส่งไปยังหน้า Session_pgae_1.php หรือยัง ?
?>

------ ในส่วนของการทำงาน Frontend จะมีการรับค่า Session เข้ามา ------------

Code: Select all

<?php
session_start();   											//เปิดการทำงาน Session
?>
<html>
<head>
<title>Session Page</title>
</head>
<body>
Session Check.<br>			<!-- เมื่อเราสร้าง Session เรียบร้อย ก็ให้ตรวจสอบ ส่งค่าของ Session และ แสดงผล มาในหน้านี้  หรือยัง ?-->

$pet = <?php echo $_SESSION["strpet"];?><br>		<!--แสดงผล $_SESSION["strpet"] -->	
session_id(); = <?php echo session_id();?><b              <!--session_id() คือ หมายเลขประจำเครื่อง Client ซึ่งแต่ละเครื่องหรือ Browser จะมีค่าไม่เหมือนกัน -->
$strName = <?php echo $_SESSION["strName"];?><br>	         <!--แสดงผล $_SESSION["strName"] -->
$strSiteName = <?php echo $_SESSION["strSiteName"];?><br>		<!--แสดงผล $_SESSION["strSiteName"] -->		
<br>
</body>
</html>
-------------------------------------------------------------------------------

ผลลัพธ์ในการตรวจสอบ Session ที่ได้มา
Session Check.
$pet = Dog
session_id(); = u9mjfi7lcf2gd84m1d57vkaius
$strName = Mr.John
$strSiteName = www.google.com
แหล่งอ้างอิงข้อมูล
https://www.w3schools.com/php/php_sessions.asp
https://www.php.net/manual/en/reserved.variables.session.php
https://www.unzeen.com/article/171/
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 8 guests