ผมจได้ทำการ ล้างตัวแปร ค่าคุ๊กกี้ในเพจและ จะให้มันรีเฟส ทั้งหน้า เพื่อ ที่จะ ค่าตัวแปรคุ๊กกี้ หายไป



เท่าที่ผมลอง ดู


echo "<script language='javascript' type='text/javascript' >
window.location='chat_buddy.php';</script>";




โค๊ดนี้ เหมือนจะไม่ รีเฟส เลย ทั้ง FF IE และ โครม  




	echo "<meta http-equiv=\"refresh\" content=\"0;URL=login.php\">"; 




ส่วน โค๊ด นี้ รีเฟส แต่ โครม ส่วน FF และ IE ไม่มีผลเลย



พอจะมีวิธีแนะนำ ไหมครับ เพราะถ้าค่าตัวแปรไม่หายจะ เกิด บัค ทำให้ user  สามารถส่งข้อความหาเพื่อน ที่ลบไปแล้วได้อ้ะครับ

กรกฎ วิริยะ 23 Aug 2012 07:17
ใช้ window.location.reload(); ครับ



หรือ window.location = 'xxx.php?' + date.getTime();
Unknown 23 Aug 2012 11:05

ลองแล้วครับ ไม่เปลี่ยนหน้าเหมือนกัน



echo "<script language='javascript' type='text/javascript' >


window.location = 'chat_buddy.php?' + date.getTime();</script>";

ไม่มีอะไรเกิดขึ้น



echo "<script language='javascript' type='text/javascript' >

window.location.reload();</script>";

ไม่มีอะไรเกิดขึ้น เช่นกัน

กรกฎ วิริยะ 23 Aug 2012 11:42
เข้าใจว่า น่าจะใช้ผิดที่...



ถ้าได้อ่านบทความผม จะต้องได้อ่านว่า "Javascript ไม่สามารถใช้งานในหน้าที่ Ajax โหลดได้" ลองหาอ่านดูนะครับ



ความหมายของมันก็คือ ไม่สามารถเขียนใส่ใน PHP ได้ (echo ต้องไม่มี)



ที่ที่จะใส่ได้มีที่เดียวคือ ที่ Javascript ครับ เช่น เมื่อรับค่ากลับมาแล้ว ให้ refresh ทันที
Unknown 23 Aug 2012 12:19
อ่าครับ อาจารย์เริ่มเข้าใจแล้ว ครับ ผม ใช้ 



Ajax.PeriodicalUpdater  แล้ว จะส่ง ค่า php กลับ มา เช่น ในไฟลื php ที่ส่งค่าไปนั้น กำหนดตัวแปร ส่งกลับมา 



ว่า $count = 0  แล้ว ในสคริป java  Ajax.PeriodicalUpdater  รับรับค่า $count = 0 ยังไงอ่ะครับ 



แบบว่า รับ ค่า count = 0 แล้ว ก็เขียน IF ที่ได้ใต้คำสั่ง 
Ajax.PeriodicalUpdater ให้ มันรีดเฟสทั้งหน้าเลย อ่ะครับ
กรกฎ วิริยะ 23 Aug 2012 13:12
อันนี้ก็ไม่แน่ใจนะ ถ้าเป็น Frame Work อื่นผมไม่ค่อยถนัด



จริงๆแล้วคำสั่งพื้นฐานน่าจะมีเช่น responseText ก็อาจตรวจสอบจากค่านี้ได้ หรือ อาจดูจากสิ่งที่ script มีให้เช่น การรับค่ากลับเป็น XML หรือ JSON ก็ได้



ยกตัวอย่างเช่น ใน คำสั่งพื้นฐานของ Ajax นะครับ...



ที่ PHP หากทำงานสำเร็จ อาจหมายถึง login สำเร็จก็ให้คืนค่า 1 กลับมา ถ้าไม่สำเร็จก็คืนค่า 0

หลังจากรับค่าด้วย Ajax ที่ responseText ก็ตรวจสอบว่า ค่าที่ส่งกลับมา เท่ากับ 1 หรือไม่ ถ้าใช่ ก็ reload ซึ่งขั้นตอนส่วนนี้ กระทำบน Javascript เท่านั้น



อ่านบทความประกอบนะครับ