การใช้ cookie เก็บข้อมูล

ปรับปรุง : 2548-02-06 ()

บทเรียน ONLINE : การเขียนภาษา PHP
[ ทำงานกับ cookie ]

  1. ข้อควรทราบ
  2. โปรแกรมที่ใช้ติดต่อกับ cookie
  3. แบบฝึกหัด
ข้อควรทราบ
  1. โปรแกรมนี้ขอให้ server บริการ php ก็ใช้ได้แล้ว และ Browser ไม่ปิดการให้ใช้ cookie
  2. โปรแกรมนี้เขียนให้เห็นว่า Browser สามารถสร้างพื้นที่ส่วนหนึ่งในเครื่อง client และยอมให้ server สามารถติดต่อเพื่อใช้บริการส่วนนี้ได้อัตโนมัติ
  3. บทเรียนนี้ผมเขียนขึ้นเพื่อทดสอบ ความสามารถของ php ในการติดต่อกับ cookie ซึ่งง่ายที่สุดในภาษาต่าง ๆ ที่เคยใช้มาครับ
  4. Error ที่ท่านน่าจะพบ คือการใช้คำสั่ง setcookie หลังจากเขียนอะไรไปบนจอภาพ จะไม่ได้ สรุปก็คือคำสั่ง setcookie จะต้องถูกประมวลผล ก่อนคำสั่ง echo คำสั่งแรกเสมอ .. ไม่งั้น error
ตัวอย่างที่ทดสอบที่ se-ed.net : http://www.se-ed.net/thaiall/pcook.php3

โปรแกรมที่ใช้ติดต่อกับ cookie
Source code สำหรับสร้าง form เรียก pcook.php
เปิด Sourcecode ที่ thaiall.com นี้ แต่ pcook.php หรือ pcook.php3 จะไม่ประมวลผลที่เว็บนี้
<?
if ($thaiall == "" || $submit == "restore") {
$thaiall = "car:5:hat:6:pen:7:book:3:key:4:";
setcookie("thaiall","$thaiall");
}
if ($submit == "add") {
$thaiall = "$thaiall$newid:$newamt:";
setcookie("thaiall","$thaiall");
}
if ($submit == "del") {
  $key = preg_split ("/[\s:]+/",$thaiall);
  $thaiall = "";
  $i = 1; $j = 0;
  while ($key[$j] != "") {
    $k = $j + 1;
    if ($delid != $key[$j]) { $thaiall = "$thaiall$key[$j]:$key[$k]:"; }
    $i++;
    $j = $j + 2;
  }
  setcookie("thaiall","$thaiall");
}
echo "<form action=pcook.php>";
echo "<input type=text name=delid><input type=submit name=submit value=del></form><hr>";
echo "<form action=pcook.php>";
echo "<input type=text name=newid><input type=text name=newamt>";
echo "<input type=submit name=submit value=add></form><hr>";
echo "<form action=pcook.php><input type=submit name=submit value=restore></form><hr>";
$key = preg_split ("/[\s:]+/",$thaiall);
  $i = 1; $j = 0;
  while ($key[$j] != "") {
    $k = $j + 1;
    echo "$i $key[$j] $key[$k]<br>";
    $i++;
    $j = $j + 2;
  }
echo "<hr>$thaiall";
?>

แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ให้เขียนโปรแกรมตามตัวอย่างข้างบนนี้ ให้ใช้งานได้
  2. ให้ปรับให้มีหลายเขตข้อมูลมากกว่านี้
  3. ให้ประยุกต์ไปใช้กับ Shopping cart
ผู้สนับสนุน + ผู้สนับสนุน
+ รับผู้สนับสนุน

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : thcity.com : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223