Page 1 of 1

รบกวนท่านผู้รู้ช่วยดูโค้ด setcookie ผมไม่เข้าใจการทำงาน

Posted: 01/02/2012 9:31 am
by Dwight
addbasket.php

Code: Select all

<?
    if(!isset($numcd))
    {
        $numcd=0;
    }
    setcookie("cart[$numcd]","$musiccd"); //Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\BtheBrovs\sc\addbasket.php:1) in D:\AppServ\www\BtheBrovs\sc\addbasket.php on line 6
    switch($musiccd)
    {
        case "Green Day" : $pr=199; break;
        case "Linkin Park" : $pr=175; break;
        case "Sum 41" : $pr=150; break;
    }
    setcookie("price[$numcd]","$pr"); //Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\BtheBrovs\sc\addbasket.php:1) in D:\AppServ\www\BtheBrovs\sc\addbasket.php on line 13
    $numcd++;
    setcookie("$numcd","$numcd"); //Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\BtheBrovs\sc\addbasket.php:1) in D:\AppServ\www\BtheBrovs\sc\addbasket.php on line 15
    print ("Add CD $musiccd to Basket<br>");
?>
<hr>
<a href="productform.html">View other Product</a>
<a href="showcart.php">Show Product</a>
<a href="delcart.php">Cancel</a>
delcart.php

Code: Select all

<?
    for($a=0;$a<$numcd;$a++)
    {
        setcookie("cart[$a]","");
        setcookie("price[$a]","");
    }
    setcookie("numcd",""); //Warning: Cannot modify header information - headers already sent by (output started at D:\AppServ\www\BtheBrovs\sc\delcart.php:1) in D:\AppServ\www\BtheBrovs\sc\delcart.php on line 7
    print ("You cancel all Product");
?>
<br>
<a href="productform.html">View other Product</a>

Re: รบกวนท่านผู้รู้ช่วยดูโค้ด setcookie ผมไม่เข้าใจการทำงาน

Posted: 01/02/2012 10:14 am
by secivon
HTTP header command ทั้งหลาย เช่น setcookie() , session_start() , header() ...
ต้องเรียกใช้ "ก่อนจะส่ง content อื่นๆ ของ page" ครับ

นั่นก็คือ ต้องเริ่มไฟล์ php ด้วย PHP tag เลย (<?php) (ในรูปมี space หรือ new line chracter) system ก็เลยแจ้ง error ครับ
ลบ space ต้นไฟล์ออก น่าจะใช้ได้แล้ว