作者 主題: 請問在 Zend Framework 下, 如果使用 Cookies  (閱讀 3319 次)

0 會員 與 1 訪客 正在閱讀本文。

kitshing

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
小弟初學Zend Framework, 想嘗試一個簡單的存取 Cookie 的過程
嘗試先在第一頁面開始先設定好 cookie,然後當使用者進入其他頁面時,可以從 cookie 找到資料
但使用 Zend_Http_Cookie 設定 cookie 後,在 Firefox 執行了,Firefox 中還是找不到那個 Cookie,只有一個 PHPSESSID 的 Cookie

看 Zend 文件的教學中 ,有一句
[ all cookies going from and into the client through HTTP requests and responses will be stored by the CookieJar object ]

再試把cookie 掉進 CookieJar ,還是沒有建立。



在 AbcController 中的一個 Action 設定好一個 Cookie
http://localhost:8080/abc/aa/
代碼: [選擇]
class AbcController extends Zend_Controller_Action {

function aaAction() {
$cookie = new Zend_Http_Cookie('myCookie', '123456', ".example.com");
$cookieJar = new Zend_Http_CookieJar();
$cookieJar->addCookie($cookie, "http://www.example.com/");
$client = new Zend_Http_Client();
$client->setCookieJar($cookieJar);
}

}


另外,在 Zend 文件中或在 google 一下後,全都只教
代碼: [選擇]
// Create a new cookie
$cookie = new Zend_Http_Cookie('foo',
                               'two words',
                               '.example.com',
                               time() + 7200,
                               '/path');
echo $cookie->getValue();
這樣取得 cookie 的值

但如果想在 http://localhost:8080/abc/aa/  中建立 cookie,在 http://localhost:8080/xyz/aa/ 中取得 cookie,要如何編寫呢 ?
( 本想用 setcookie() 與 $_COOKIE 的方法試試,但setcookie()
  又無法在Controller 中使用,因為罵 [Cannot modify header information - headers already sent] )


累積了很多疑惑 :(
請各會員多多指教 :)