PHP setcookies 一問

2009-06-15 1:00 am
我想知點解唔可以"覆蓋"個cookies...
即係...
我個網係要人地輸入資料...
例如name, email...
第一頁PHP... 我要人輸入name 同 email:
<input name="myname" type="text" value="<?php echo $_COOKIE['myname']; ?>">
<input name="email" type="email" <?php echo $_COOKIE['email']; ?>">
第二頁PHP.... setcookies:
<?php
$expired = time()-60*60*24*7;
setcookie ("myname", "$myname", "$expired");
setcookie ("email","$email", "$expired");
?>
所以,當人地下一次返返o黎之後,o的資料都會o係翻道...
不過,假如改過d資料再submit... 第二頁冇問題,但係點解去返第一頁,個資料都係跟返第一次輸入o既資料o既cookie,而唔係新o既呢?
(註:唔用session)

回答 (1)

2009-06-15 4:30 am
✔ 最佳答案
有試過每次進入第二頁時,都先刪除有關cookie,再新增多一次嗎?

刪除function:
setcookie(name,'',time()-3600*24*30);

2009-06-14 20:30:34 補充:
有試過每次進入第二頁時,都先刪除有關cookie,再新增多一次嗎?

刪除function:
setcookie(name,'',time()-3600*24*30);

2009-06-14 20:47:46 補充:
見意見,係度打唔太方便~

2009-06-14 21:06:25 補充:
先係頁面一建立一個checkbox

頁面一 :


checked係一個設定checkbox預設為勺(yes)定不勺(no),利用php check一個名為save既cookie,如果呢個cookie存在,就寫入yes值入checked,否剛就寫入no值

2009-06-14 21:09:38 補充:
頁面二 :
$checkBox = $_POST['savecookie'] == 'yes' ? 'yes' : 'no'; //先睇睇用戶有沒勾到個checkbox
if($checkBox == 'yes'){
setcookie('save','yes',time()+3600*24*30);//如果有勺,就set個cookie名為save,當用戶再次去返頁一時,checked既值就會因為check到cookie既存在而自動變為勺
} else {
setcookie('save','',time()-3600*24*30); //否則,就要消除cookie
}

2009-06-14 21:10:13 補充:
唔洗啦=.=去返所以回答傾吧囧

2009-06-14 21:11:22 補充:
ps:頁面一d碼唔見哂,重打次比你:

< input type="checkbox" name="savecookie" value="yes" checked="< ?php echo $_COOKIE['save'] ? 'yes' : 'no' ? >" >

2009-06-14 21:16:12 補充:
~.~係呀,要囉from既值,必須用$_POST['xxx']黎囉,沒得直接用$xxx的


收錄日期: 2021-04-13 16:40:57
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20090614000051KK01349

檢視 Wayback Machine 備份