คุกกี้มักใช้เพื่อระบุผู้ใช้
คุกกี้มักใช้เพื่อระบุผู้ใช้ คุกกี้คือไฟล์ขนาดเล็กที่เซิร์ฟเวอร์ทิ้งไว้บนคอมพิวเตอร์ของผู้ใช้ แต่ละครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอเพจผ่านเบราว์เซอร์ คอมพิวเตอร์เครื่องนี้จะส่งคุกกี้ ด้วย PHP คุณสามารถสร้างและดึงค่าคุกกี้ได้
ฟังก์ชัน setcookie() ใช้สำหรับตั้งค่าคุกกี้
หมายเหตุ: จะต้องวางฟังก์ชัน setcookie() ก่อนแท็ก <html>
setcookie (ชื่อ, ค่า, หมดอายุ, เส้นทาง, โดเมน);
ในตัวอย่างต่อไปนี้ เราจะสร้างคุกกี้ชื่อ "ผู้ใช้" และกำหนดค่าเป็น "codercto" นอกจากนี้เรายังระบุว่าคุกกี้นี้จะหมดอายุหลังจากหนึ่งชั่วโมง:
<?phpsetcookie("user", "codercto", time()+3600);?><html>.....หมายเหตุ: เมื่อส่งคุกกี้ ค่าคุกกี้จะถูกเข้ารหัส URL โดยอัตโนมัติและถอดรหัสโดยอัตโนมัติเมื่อดึงข้อมูล (เพื่อป้องกันการเข้ารหัส URL ให้ใช้ setrawcookie() แทน)
มีอีกวิธีหนึ่งที่คุณสามารถตั้งเวลาหมดอายุของคุกกี้ได้ นี่อาจง่ายกว่าการใช้วินาที
<?php$expire=time()+60*60*24*30;setcookie("user", "codercto", $expire);?><html>.....ในตัวอย่างข้างต้น เวลาหมดอายุตั้งไว้ที่หนึ่งเดือน ( 60 วินาที * 60 นาที * 24 ชั่วโมง * 30 วัน )
ตัวแปร $_COOKIE ของ PHP ใช้เพื่อดึงค่าของคุกกี้
ในตัวอย่างต่อไปนี้ เราดึงค่าของคุกกี้ชื่อ "ผู้ใช้" และแสดงไว้บนหน้า:
<?php// ค่าคุกกี้เอาท์พุต echo $_COOKIE["user"];// ดูคุกกี้ทั้งหมด print_r($_COOKIE);?>
ในตัวอย่างต่อไปนี้ เราใช้ฟังก์ชัน isset() เพื่อยืนยันว่าคุกกี้ได้รับการตั้งค่าแล้ว:
<html><head><meta charset="utf-8"><title>บทช่วยสอนการเขียนโค้ด (codercto.com)</title></head><body><?phpif (isset($_COOKIE["user" ] )) echo "Welcome" . $_COOKIE["user"] . "!<br>";else "ผู้เยี่ยมชมปกติ!<br>";?></body></html>
เมื่อลบคุกกี้ คุณควรเปลี่ยนวันหมดอายุเป็นเวลาในอดีต
อินสแตนซ์ที่ถูกลบ:
<?php//ตั้งเวลาหมดอายุของคุกกี้เป็น 1 ชั่วโมงที่ผ่านมา setcookie("user", "", time()-3600);?>หากแอปพลิเคชันของคุณต้องจัดการกับเบราว์เซอร์ที่ไม่รองรับคุกกี้ คุณจะต้องใช้วิธีการอื่นในการส่งข้อมูลระหว่างหน้าต่างๆ ในแอปพลิเคชันของคุณ วิธีหนึ่งคือการส่งข้อมูลผ่านแบบฟอร์ม (แบบฟอร์มและการป้อนข้อมูลของผู้ใช้จะครอบคลุมอยู่ในบทก่อนหน้าของบทช่วยสอนนี้)
แบบฟอร์มต่อไปนี้ส่งข้อมูลผู้ใช้ไปที่ "welcome.php" เมื่อผู้ใช้คลิกปุ่ม "ส่ง":
<html><head><meta charset="utf-8"><title>บทช่วยสอนการเขียนโค้ด (codercto.com)</title></head><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><head><meta charset="utf-8"><title>การสอนเขียนโค้ด (codercto.com)</title></head><body>ยินดีต้อนรับ<?php echo $_POST["name"] ; ?>.<br>คุณอายุ <?php echo $_POST["age"]; ?> ปี </body></html>