รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

PHP กับการใช้งาน COOKIE และ SESSION ข้าม Subdomain บน Server !!!

    ปกติแล้ว SESSION สามารถใช้งานข้ามไดเร็คทอรี่ได้ภายใน domain เดียวกัน ไม่เหมือน Cookie ที่สามารถใช้งานได้เฉพาะไดเร็คทอรี่ใด ไดเร็คทอรี่หนึ่งเท่านั้น SESSION จึงเหมาะที่จะเก็บสถานะการ login มากกว่า Cookie เนื่องจากไม่ต้องกังวลว่าจะอยู่ในไดเร็คทอรี่ใด แต่ SESSION ก็ยังไม่สามารถใช้งานได้ในกรณีที่เว็บเราแบ่งเป็น subdomain แต่! ปัญหานี้แก้ไขได้ครับ

    .htaccess
    php_value session.cookie_domain ".mysite.com"

    สร้าง ไฟล์ .htaccess แล้วใส่โค้ดนี้ลงไป แล้วก็เอาไปวาง ที่ root ของ Server จะใช้ได้ตลอดทุก subdomain ครับ (ถ้าไม่ได้ ก็ใส่ไฟล์นี้ ที่ root ของทุก subdomain เลยครับ)
    การกำหนดค่าที่ถูกต้องของวิธีนี้ คือตุ้องมี จุด อยู่หน้า โดเมนด้วยนะครับ ถึงจะทำงาน

    PHP
    ini_set('session.cookie_domain', '.mysite.com') // ใส่บรรทัดบนสุดของเพจ
    session_start();

    เขียน ลงบนโค้ด PHP โดยตรงในตำแหน่งที่ต้องการจะเรียกใช้ session ซึ่งก็คือ session_start(); วิธีนี้มีข้อเสียที่ต้องเขียนในทุกครังที่เรียกใช้ ไม่เหมือนกับวิธีแรกครับ ที่ไม่ต้องแก้ไขโค้ด

    ยังมีอีกวิธีนึงที่พอประยุกต์ใช้ได้ครับ คือการใช้ session ที่กำหนดเอง
    session_id($_GET[PHPSESSID]);
    session_start();

    วิธี นี้คือการใช้ session ที่กำหนดเองครับ โดยตอนเริ่มต้อนเราต้องกำหนดค่า $_GET[PHPSESSID] ไว้ก่อนด้วยตัวเอง อาจได้มาโดยการสุ่มก็ได้ แต่ในเวลาที่ต้องการจะให้ใช้งาน session เดียวกัน ก็ให้ทำการส่งค่านี้ไปยัง เพจที่ต้องการใช้ session เดียวกันได้ เช่น xxx.php?phpsessid=avsbeikmnrv เป็นต้น ก็จะทำให้เพจนั้นๆ ใช้ session เดียวกันกับต้นทางได้ ไม่ว่าจะอยู่ subdomain ไหนก็ตาม

บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com