กำหนด domain และการใช้งานใน sub domain ของตัวแปร cookie ด้วย php ตอนที่ 4

เขียนเมื่อ 10 ปีก่อน โดย Ninenik Narkdee
cookie php sub domain domain

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ cookie php sub domain domain

ดูแล้ว 6,446 ครั้ง


 การกำหนด domain เมื่อมีการสร้างตัวแปร cookie ตัวอย่าง

 
ตัวอย่างที่ 1 กรณีกำหนด domain เป็น "www.ninenik.com"
 
<?php
if(!isset($_COOKIE["cookie1"])){ // เช็คว่ามีตัวแปรนี้อยู่ก่อนแล้วหรือไม่
	setcookie("cookie1", "ทดสอบ",time()+3600,"/","www.ninenik.com");  // กำหนดตัวแปร		
}
?>
 
 
ค่าตัวแปร cookie ในตัวอย่างที่ 1 สามารถเรียกใช้งาน ผ่าน domain ที่เป็น www.ninenik.com เท่านั้น แต่จะไม่สามารถเรียกใช้งานผ่าน ninenik.com ได้
คือ
www.ninenik.com/test_cookie.php 
เรียกใช้งานตัวแปร cookie ตามตัวอย่างที่ 1 ได้
 
ninenik.com/test_cookie.php 
เรียกใช้งานตัวแปร cookie ตามตัวอย่างที่ 1 ไม่ได้
 
แก้ปัญหา โดยใช้งานตามตัวอย่างที่ 2
 
ตัวอย่างที่ 2 กรณีกำหนด domain เป็น ".ninenik.com"
 
<?php
if(!isset($_COOKIE["cookie1"])){ // เช็คว่ามีตัวแปรนี้อยู่ก่อนแล้วหรือไม่
	setcookie("cookie1", "ทดสอบ",time()+3600,"/",".ninenik.com");  // กำหนดตัวแปร		
}
?>
 
ค่าตัวแปร cookie ในตัวอย่างที่ 2 จะสามารถเรียกใช้งานได้ทั้ง ผ่าน domain ที่เป็น www.ninenik.com และ ninenik.com ได้
 
หรือ กรณีต้องการให้เว็บไซต์ ลิ้งค์ไปที่หน้า ที่มี www นำหน้าทุกครั้งที่ไม่ได้มีการพิมพ์
เช่น พิมพ์แค่ ninenik.com เว็บก็จะลิ้งค์ไปที่หน้า www.ninenik.com
หรือ เมื่อเปิดไปหน้า
ninenik.com/test_cookie.php
ก็จะลิ้งค์ไปที่หน้า 
www.ninenik.com/test_cookie.php
 
โดยการเพิ่มคำสั่งในไฟล์ .htaccess ดังนี้
 
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
 
 
โดยทำสั่งจากด้านบน จะทำให้มีการเติม www ให้ทุกครั้งหากไม่มีการพิมพ์ www นำหน้า
 
 
สำหรับการใช้งาน cookie ผ่าน sub domain นั้น เราสามารถเพิ่ม 
คำสั่งต่อไปนี้ ลงในไฟล์ .htaccess เพื่อให้ cookie สามารถส่งค่า และเรียกใช้งานได้ใน
sub domain  
 
php_value session.cookie_domain ".ninenik.com"
 
ด้วยคำสั่งนี้ที่เพิ่มเข้าไปในไฟล์ .htaccess จะทำให้ sub domain เช่น
demo.ninenik.com หรือ  board.ninenik.com 
สามารถเรียกใช้งาน ตัวแปร cookie จาก โดนเมนหลักได้
 
นอกจากการกำหนด โดยใช้ไฟล์ .htaccess แล้ว เราสามารถกำหนดผ่านไฟล์ php
เพื่อใช้งาน cookie ผ่าน sub domain ได้อีกวิธี โดยต้องเขียนไว้ด้านบนสุดของไฟล์ เช่นเดียว
กับการกำหนด ตัวแปร cookie
 
ตัวอย่าง
 
<?php
ini_set('session.cookie_domain', '.ninenik.com') // ไว้ด้านบนสุดของไฟล์
?>
 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ