0
我在設置cookie名稱的問題,我決定在這裏發表的方法。不能設置cookie名稱
在我的主頁我調用以下方法:
$CHAT->login($_POST['cliente']);
$CHAT->entraFila();
的方法是:
public function login($cli, $senha){
$this->cliente = $cli;
}
public function entraFila(){
$fila_id = $this->DB->criaFila($this->cliente);
if($fila_id){
// -------------------------------- SETING THE COOKIE BELOW <<<<< ---
setcookie("CHAT_FILA_ID", $fila_id, time() + 86400);
return true;
} else {
return false;
}
}
的 「entraFila」 方法調用 「criaFila」 的方法在另一類:
public function criaFila($cli){
$insert = sprintf("INSERT INTO filas (cliente, data) VALUES (%s, NOW())",
GETSQLValueString($cli, "text")
);
$query = mysql_query($insert) or die(mysql_error());
if($query){
return mysql_insert_id($query);
} else {
return $query;
}
}
當我檢查另一頁中的cookie時,它總是返回false:
session_start();
if(!isset($_COOKIE['CHAT_FILA_ID'])){
// CONDITION ALWAYS ENTER HERE
header("location: login.php");
}
在鉻,我查了cookie的名稱,它的設置好的像「PHPSESSID」
有什麼不對?
也許你已經調用'的setcookie()'在這種情況下,cookie將不會被設置的時候開始你的輸出。嘗試在頁面頂部運行你的'setcookie()'。 – Cyclonecode 2012-03-09 13:01:08
確保對設置和檢查提出不同要求。當你在你的代碼中設置一個cookie時,你不能直接檢查它是否被設置在下一行,但必須先「刷新」頁面。另外,確保設置cookie是你做的第一件事(之前絕對沒有輸出,比如空格或者其他東西)。 – Quasdunk 2012-03-09 13:01:40
您是否每次獲得$ fila_id的價值? – Milap 2012-03-09 13:02:56