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