ใช้ cookie พร้อมกับ session อย่างไรครับ
คือผมมีไฟล์ที่ใช้ตรวจสอบชื่อผู้ใช้ และรหะสผ่าน อยู่ใน includes/login.php
แล้วผมใช้ ajax เรียกไฟล์นี้ จากไฟล์ /main.php
แต่ปรากฎว่า ไม่สามารถใช้งาน cookie ได้
ไฟล์ includes/ login.php
<?php
ob_start();
session_start();
setcookie("login_name","sutnet",time()+180000);
.......................
?>
ไฟล์ main.php
<?php
.......................
echo $_COOKIE["login_name"];
...................................
?>
มันไม่มีค่าอะไรเลยครับ งง
แล้วผมใช้ ajax เรียกไฟล์นี้ จากไฟล์ /main.php
แต่ปรากฎว่า ไม่สามารถใช้งาน cookie ได้
ไฟล์ includes/ login.php
<?php
ob_start();
session_start();
setcookie("login_name","sutnet",time()+180000);
.......................
?>
ไฟล์ main.php
<?php
.......................
echo $_COOKIE["login_name"];
...................................
?>
มันไม่มีค่าอะไรเลยครับ งง
คำแนะนำที่ดีกว่า คือ ใช้ SESSION แทนครับ
ถ้าใช้ session อย่างเดียว เวลาปิดบราวเซอร์ ไปแล้ว
กลับมาเปิดหน้าเว็บอีก ต้อง Login ใหม่ ทุกครั้ง
อย่างนี้ ต้องแก้อย่างไรครับ
1.เมื่อเรียกเว็บครั้งแรก เอา login จาก cookie
2. เมื่อตรวจ login ผ่านแล้ว ก็ให้ บันทึก cookie และ ใส่ค่า login ลง session
3. เรียกเพจครั้งต่อๆไป ก็ตรวจจาก session
session จะทำให้เราผ่านไปยังไดเร็คทอรี่ใดๆได้ ในขณะที่ cookie ทำไม่ได้
+ ปัญหาตอนนี้คืือ ผมทำเว็บ อีคอมเมิชร์ครับ ที่ต้องลง SSL ที่ใช้จ่ายเงินกับ Paypal และผมยังงงอยู่ครับ ตอนอัพโหลดขึ้นโฮสใหม่ ๆ ก็ยังทำงานดีอยู่ แต่พอตื่นมาก็พบว่า ล็อกอินเข้าในส่วนของสมาชิก และ Admin ไม่ได้ กล่าวคือ ในส่วนสมาชิกไม่จำค่า Session น่ะครับ หรือไม่สร้างค่าเลยก็ไม่รู้ครับ
เพราะผมจะสร้างค่า Session ไว้ที่หน้า Verify.php ( $_SESSION['member'] = $username;)
และหากเป็นสมาชิก ก็ให้ redirect ไปที่หน้า member/index.php
ปัญหาตอนนี้คือ หากล็อกอินเรียบร้อยแล้ว มันก็จะเืตือนว่า " You are not member" ซึ่งตัวดักนี้อยู่ที่หน้า member/index.php
ตอนนี้ก็เลยงงว่า เป็นที่โฮสหรืออะไรกันแน่น่ะครับ หรือจะเปลี่ยนไปเก็บค่าแบบ Cookie ดีกว่าไหมครับ?
ขอบพระคุณล่วงหน้าครับ