เซสชั่นเป็นวิธีการในการจัดเก็บข้อมูล (in variables) ที่จะนำมาใช้ในหลาย ๆ หน้า
ซึ่งแตกต่างจากคุกกี้ข้อมูลที่ไม่ได้เก็บไว้บนคอมพิวเตอร์ของผู้ใช้
PHP ที่เซสชันคืออะไร?
เมื่อคุณทำงานกับโปรแกรมที่จะเปิดทำการเปลี่ยนแปลงบางอย่างและจากนั้นคุณปิดมัน นี้เป็นเหมือนเซสชัน คอมพิวเตอร์รู้ว่าคุณเป็นใคร มันรู้ว่าเมื่อคุณเริ่มโปรแกรมประยุกต์และเมื่อคุณจบ แต่บนอินเทอร์เน็ตมีปัญหาหนึ่งคือ: เว็บเซิร์ฟเวอร์ไม่ทราบว่าคุณเป็นใครหรือสิ่งที่คุณทำเพราะอยู่ HTTP ไม่รักษาสถานะ
ตัวแปรเซสชั่นการแก้ปัญหานี้โดยการจัดเก็บข้อมูลของผู้ใช้ที่จะนำมาใช้ในหลาย ๆ หน้า (eg username, favorite color, etc) ) โดยค่าเริ่มต้นตัวแปรเซสชั่นมีอายุจนถึงผู้ใช้ปิดเบราว์เซอร์
ดังนั้น; ตัวแปรเซสชั่นเก็บข้อมูลเกี่ยวกับผู้ใช้หนึ่งเดียวและมีอยู่ในทุกหน้าในโปรแกรมประยุกต์หนึ่ง
เคล็ดลับ: หากคุณจำเป็นต้องมีการจัดเก็บข้อมูลถาวรคุณอาจต้องการที่จะเก็บข้อมูลใน ฐานข้อมูล
เริ่ม PHP เซสชัน
เซสชั่นจะเริ่มต้นด้วยการ session_start() ฟังก์ชั่น
ตัวแปรเซสชั่นถูกกำหนดด้วยตัวแปรส่วนกลาง PHP: $ _SESSION
ตอนนี้ขอสร้างหน้าใหม่ที่เรียกว่า "demo_session1.php" ในหน้านี้เราเริ่มเซสชัน PHP ใหม่และตั้งค่าตัวแปรเซสชั่นบางอย่าง
ตัวอย่าง
<?php
// Start the session
session_start();
?>
<!DOCTYPE
html>
<html>
<body>
<?php
// Set session
variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"]
= "cat";
echo "Session variables are set.";
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» Note: session_start() ฟังก์ชั่นจะต้องเป็นสิ่งแรกในเอกสารของคุณ ก่อนที่จะแท็ก HTML ใด ๆ
รับ PHP เซสชันค่าตัวแปร
ต่อไปเราจะสร้างเพจที่เรียกว่า "demo_session2.php" จากหน้านี้เราจะเข้าถึงข้อมูลเซสชั่นที่เราตั้งอยู่บนหน้าแรก ("demo_session1.php")
ขอให้สังเกตว่าเซสชั่นตัวแปรที่ยังไม่ได้ผ่านการเป็นรายบุคคลไปยังหน้าใหม่ในแต่ละแทนพวกเขาจะถูกดึงจากการที่เราเปิดที่จุดเริ่มต้นของแต่ละหน้า ( session_start() )
นอกจากนี้ยังสังเกตเห็นว่าค่าตัวแปรเซสชั่นทั้งหมดจะถูกเก็บไว้ในโลก $ _SESSION ตัวแปร:
ตัวอย่าง
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous
page
echo "Favorite color is " . $_SESSION["favcolor"]
. ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"]
. ".";
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» วิธีที่จะแสดงทุกค่าตัวแปรเซสชั่นสำหรับเซสชันของผู้ใช้ก็คือการใช้รหัสต่อไปนี้:
ตัวอย่าง
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» มันทำงานอย่างไร มันจะรู้ว่ามันเป็นฉัน?
การประชุมส่วนใหญ่ตั้งใช้งานที่สำคัญในคอมพิวเตอร์ของผู้ใช้ที่มีลักษณะบางอย่างเช่นนี้ 765487cf34ert8dede5a562e4f3a7e12 จากนั้นเมื่อเซสชั่นที่มีการเปิดในหน้าอื่นจะสแกนเครื่องคอมพิวเตอร์สำหรับการใช้งานที่สำคัญ หากมีการแข่งขันมันเข้าถึงเซสชั่นว่าถ้าไม่ก็จะเริ่มเซสชันใหม่
ปรับเปลี่ยนตัวแปร PHP เซสชัน
ในการเปลี่ยนตัวแปรเซสชั่นเพียงเขียนทับมัน:
ตัวอย่าง
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
to change a session variable, just overwrite it
$_SESSION["favcolor"] =
"yellow";
print_r($_SESSION);
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ทำลาย PHP เซสชัน
ในการลบตัวแปรเซสชั่นทั่วโลกทั้งหมดและทำลายเซสชั่นการใช้งาน session_unset() และ session_destroy() :
ตัวอย่าง
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
remove all session variables
session_unset();
// destroy the
session
session_destroy();
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้»