2011-12-09 17 views
0

我的主域名:www.domain.com有一個cookie設置爲:domain.comphp.ini中的session.cookie_domain - 發佈表單的問題

一旦用戶點擊鏈接訪問www.domain.com/login,並且他們嘗試登錄(通過POST請求),此表單將該cookie設置爲www.domain.com(添加www)。這導致許多人遇到問題,因爲當他們提交登錄表單時,頁面只會刷新。

對於一些人來說,它永遠不會提交(永遠不能提交表單)。對於其他人來說,這只是一次 - 第二次,它工作正常。它也因瀏覽器而異...

我在這裏修復了什麼,我假設我需要在我的session.cookie_domain in php.ini中輸入一些內容 - 但是正確的操作方法是什麼?

謝謝大家。

--- UPDATE --- 代碼來設置登錄頁面上的Cookie:

$expireTime = 60 * 60 * .5; // 30 minute expire time 
session_set_cookie_params($expireTime,"/"); 
session_start(); 
+0

請包括您用於設置Cookie的實際代碼。 –

+0

@RyanLaBarre新增 – Shackrock

回答

1

你需要明確設置的域,沒有 www的,但與前面的句點作爲該功能的第三個參數。

session_set_cookie_params($ expireTime,「/」,「.yourdomain.com」);

無論www是否存在於實際URL中,這將允許cookie工作相同。請注意,這也適用於您可能使用的任何其他子域,這通常是一件好事,只是將它放在那裏。

+0

我也可以在我的php.ini文件中設置「.yourdomain.com」,不是嗎? – Shackrock

+0

是的,你可以交替地/也將INI中的session.cookie_domain設置爲這個值。 –