Download Articles Stats About us Contact us
HomePHP

ใช้ PHP เขียน Cookie ส่งข้อมูล ภาษาไทย ให้ Javascript ผ่าน AJAX

การเขียนและอ่านคุกกี้ใน 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
© 2000 - 2024 palthai.com. All rights reserved.