Home
Main Page

PHP Basic
Introduction
Syntax
Variables
Operators
If...Else
Switch
Arrays
Looping
Functions
Forms
GET
POST

PHP Advanced
Date
Include
File
File Upload
Cookies
Sessions
Mail
Secure Mail

MySQL Database
Introduction
Connect
Create
Insert
Select
Where
Order By
Update
Delete

PHP Database
ODBC

PHP Reference
PHP Manual

PHP Sessions



ตัวแปร sessions

ตัวแปร sessions ถูกใช้สำหรับเก็บข้อมูลของหนึ่งผู้ใช้ และจะคงอยู่ทุกหน้าเว็ปเพจที่เราใช้

session มันเหมือนกับคุณใช้ application ตัวหนึ่งอยู่คุณเปิด แก้ไข และปิด แต่เพราะว่าเว็ปเซิร์ปเวอร์ในอินเตอร์เน็ตไม่เหมือนกับคอมพิวเตอร์ที่จะรู้ว่าคุณกำลังทำอะไรอยู่ ดังนั้นคุณจึงต้องสร้างตัวแปร sessions ขึ้นมาแก้ไขปัญหานี้

อย่างไรก็ตาม ข้อมูลในตัวแปร sessions มีระยะเวลาชั่วคราวเท่านั้น และจะถูกลบทิ้งหลังจากเราออกจากเว็ปไซต์ ถ้าคุณต้องการเก็บข้อมูลเพื่อใช้ต่อไป คุณอาจต้องเก็บในฐานข้อมูล เช่น mysql

Sessions จะทำงานโดยการสร้าง unique id (UID) สำหรับแต่ละผู้ใช้ และเก็บข้อมูลไว้ใน UID นี้

การเริ่มใช้ sessions

ก่อนที่คุณจะใช้ตัวแปร sessions ได้นั้น คุณต้องใส่ฟังก์ชั่น session_start() ไว้ก่อนแท็ก HTML

<?php session_start(); ?>
<html>
<body>
</body>
</html>

การเก็บค่าตัวแปร sessions

คุณสามารถเก็บและเรียกข้อมูลของตัวแปร sessions มาใช้ได้ดังตัวอย่าง:

<?php
session_start();
// การเก็บข้อมูล session
$_SESSION['views']=1;
?>
<html>
<body>
<?php
// การเรียกข้อมูล session
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
ผลลัพธ์ที่ได้:

Pageviews=1
มาดูตัวอย่างกันอีกแบบ เราจะสร้าง counter เรียกจำนวนหน้าของผู้ใช้นั้น ฟังก์ชั่น isset() จะตรวจสอบว่าตัวแปร views มีการถูกเซ็ทแล้วหรือยัง ถ้าถูกเซ็ทแล้วจะทำการเพิ่ม counter ขึ้นมาหนึ่ง แต่ถ้าตัวแปรยังไม่คงอยู่ก็จะเซ็ทใหม่และตั้งค่าไว้ที่ 1

<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;

echo "Views=". $_SESSION['views'];
?>

การทำลายตัวแปร sessions

ถ้าคุณอยากทำลายข้อมูลตัวแปร sessions คุณอาจจะใช้ฟังก์ชั่น unset() หรือ session_destroy() ก็ได้

ฟังก์ชั่น unset() ถูกใช้ลบตัวแปร sessions บางตัวเท่านั้น

<?php
unset($_SESSION['views']); ?>
ถ้าคุณต้องการทำลายตัวแปร sessions ทั้งหมดทุกตัวไม่เหลือเลยให้ใช้ฟังก์ชั่น session_destroy() ข้อมูลทั้งหมดจะสูญหายทันที

<?php
session_destroy(); ?>



Related Sites
php.net
mysql
phpMyAdmin
apache
thainuke
microsoft
linux
PostgreSQL
Zend Technologies
CentOS

Special Thanks
ohohost.com
w3schools.com

Advertise




Power By



 
2464380







Copyright 2006 by Phpstreet. All Rights Reserved.