PHP Cookies
- หน้าก่อนหน้า การอัพโหลดไฟล์ PHP
- หน้าต่อไป PHP Sessions
คุกกี้ทั่วไปใช้เพื่อระบุผู้ใช้。
มีคุกกี้อะไรบ้าง?
คุกกี้ทั่วไปใช้เพื่อระบุผู้ใช้。คุกกี้เป็นไฟล์เล็กที่เซิร์ฟเวอร์ทิ้งในคอมพิวเตอร์ของผู้ใช้。แต่ในทุกครั้งที่คอมพิวเตอร์เดียวกันส่งคำขอหน้าเว็บผ่านเบราเซอร์ คุกกี้ก็จะถูกส่งด้วย ผ่าน PHP คุณสามารถสร้างและกู้ค่าคุกกี้ได้
ฝากคุกกี้อย่างไร?
ฟังก์ชัน setcookie() ใช้ในการตั้งคุกกี้
หมายเหตุ:ฟังก์ชัน setcookie() ต้องอยู่ก่อนแท็ก <html> ของ HTML
สัญลักษณ์
setcookie(name, value, expire, path, domain);
ตัวอย่าง
ในตัวอย่างด้านล่างนี้,เราจะสร้างคุกกี้ที่มีชื่อ "user" และกำหนดค่าของมันเป็น "Alex Porter" และกำหนดให้คุกกี้หมดอายุหลังจากหนึ่งชั่วโมง:
<?php setcookie("user", "Alex Porter", time()+3600); ?> <html> <body> </body> </html>
หมายเหตุ:ขณะที่ส่งคุกกี้ออกไป ค่าคุกกี้จะถูก URL encode อัตโนมัติ และ decode อัตโนมัติเมื่อกู้คืน (เพื่อป้องกัน URL encode ให้ใช้ setrawcookie() แทน)
ฝากคุกกี้อย่างไร?
ตัวแปร $_COOKIE ของ PHP ใช้ในการกู้ค่าคุกกี้
ในตัวอย่างด้านล่างนี้,เราได้กู้ค่าคุกกี้ที่มีชื่อ "user" และแสดงมันบนหน้าเว็บไซต์:
<?php // พิมพ์คุกกี้ echo $_COOKIE["user"]; // วิธีเพื่อดูคุกกี้ทั้งหมด print_r($_COOKIE); ?>
ในตัวอย่างด้านล่างนี้,เราใช้ฟังก์ชัน isset() มาตรวจสอบว่าคุณได้ตั้งคุกกี้แล้วหรือไม่:
<html> <body> <?php if (isset($_COOKIE["user"])) echo "สวัสดี " . $_COOKIE["user"] . "!\n"; else echo "สวัสดีนักเยี่ยมกับการบูทร์!\n"; ?> </body> </html>
ทางไหนที่จะลบ cookie?
เมื่อลบ cookie คุณควรเปลี่ยนค่าวันหมดอายุเป็นเวลาที่ผ่านมา
ตัวอย่างที่เคยถูกลบไป:
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
ทำไมต้องทำในกรณีที่บราวเซอร์ไม่สนับสนุน cookie?
ถ้าในโปรแกรมของคุณมีบราวเซอร์ที่ไม่สนับสนุน cookie คุณจะต้องใช้วิธีอื่นเพื่อส่งข้อมูลระหว่างหน้าเว็บที่แยกกัน หนึ่งในนั้นคือการส่งข้อมูลผ่านฟอร์ม (เราได้เรียกและเรียกค่าฟอร์มและข้อมูลของผู้ใช้ในบทเรียนนี้แล้ว)
ฟอร์มด้านล่างนี้จะส่งข้อมูลผู้ใช้เข้าไปยัง "welcome.php" เมื่อผู้ใช้กดปุ่มส่ง:
<html> <body> <form action="welcome.php" method="post"> ชื่อ: <input type="text" name="name" /> อายุ: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html>
เอาค่าจาก "welcome.php" มา อย่างเช่นนี้:
<html> <body> ยินดีต้อนรับ <?php echo $_POST["name"]; ?>.<br /> คุณมีอายุ <?php echo $_POST["age"]; ?> ปี. </body> </html>
- หน้าก่อนหน้า การอัพโหลดไฟล์ PHP
- หน้าต่อไป PHP Sessions