การเขียนและอ่านคุกกี้ใน Javascript ใช้ Code นี้
function setCookie(cname, cvalue, hours) {
var d = new Date();
d.setTime(d.getTime() + (hours*60*60*1000));
document.cookie = cname + "=" + cvalue + ";expires=" + d.toUTCString() + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') { c = c.substring(1); }
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
สร้างแบบฟอร์มรับส่งข้อมูล
// index.php
<style>
.remark { display: block; text-align: center; }
.remark div { display: inline-block; margin: 0 auto 10px; text-align: left; }
</style>
<div class="remark">
<div id="remark">
27 ม.ค. 13:21 - ข้อความตัวอย่าง
</div>
<p>
หมายเหตุ : <input type="text" id="comment">
<a onclick="save_data()">บันทึก</a>
</p>
</div>
<div id="session_write" style="display: none"></div>
Code Javascript ที่ใช้อ่านเขียน Cookies
<script type="text/javascript">
var comment = getCookie('comment');
$('#remark').html('<pre>' + comment + '</pre>');
function save_data() {
var u1 = $('#comment').val();
if (u1 != '') {
comment=decodeURIComponent(comment);
if (comment != '') { comment = comment + '\n' + u1; }else{ comment=u1; }
$('#remark').html('<pre>' + comment + '</pre>');
$('#comment').html('');
comment=encodeURIComponent(comment);
setCookie('comment', comment, 24);
}
jQuery('#session_write').load('_ajax_save.php');
alert('บันทึกข้อมูลเรียบร้อยแล้ว');
}
</script>
ไฟล์ php รับข้อมูล AJAX เขียนลง MySQL
//_ajax_save.php
<?
$comment=$_COOKIE["comment"];
$comment=iconv('UTF-8', 'TIS-620', $comment);
if ($comment !='') {
$date = date('Y-m-d H:i:s');
$comment = addslashes($comment);
$sql = "update $table_comment
set COMMENT = '$comment', LAST_SAVE = '$date'
where ID = '1' ";
$result = mysqli_query($connect, $sql) or die(mysqli_error($connect));
setcookie("last_save", $date, strtotime( '+1 days' ), '/');
echo 'OK';
}
?>
ไฟล์ index.php อ่านข้อมูลจาก Database มาแสดงผล เมื่อ user กด refresh
// index.php
<?
$sql = "SELECT * FROM $table_comment WHERE ID='1' ";
$result= mysqli_query($connect, $sql) or die (mysqli_error($connect));
$row = mysqli_fetch_array($result);
// เช็คว่าใน cookie กับ database อันไหนใหม่กว่ากัน
$date1=$_COOKIE["last_save"];
$date2=$row['LAST_SAVE'];
if (strtotime($date2) > strtotime($date1)) {
$comment=$row['COMMENT'];
$comment=iconv('TIS-620', 'UTF-8', $comment);
$comment=rawurlencode($comment);
setcookie("last_save", $date2, strtotime( '+1 days' ), '/');
setrawcookie("comment", $comment, strtotime( '+1 days' ), '/');
}
?>
ในการเขียน Code หาก Cookie ผิดพลาด เราสามารถดูข้อมูลใน Cookie ได้ด้วย Code Javascript นี้
alert(document.cookie);
และลบ Cookie ด้วย Code นี้
setCookie('comment', '', 0);
29 ม.ค. 67