0
クッキー名を設定する際に問題が発生しました。ここにメソッドを投稿することにしました。クッキー名を設定できません
私は次のメソッドを呼び出す私のメインページに:
$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が返されます。
Chromeでsession_start();
if(!isset($_COOKIE['CHAT_FILA_ID'])){
// CONDITION ALWAYS ENTER HERE
header("location: login.php");
}
は、私はクッキーの名前を確認し、それは「PHPSESSID」
何が問題になっていますようにsettedですか?
おそらく 'setcookie()'を呼び出すときに出力を開始したとします。この場合、クッキーは設定されません。ページ上部の 'setcookie()'を実行してみてください。 – Cyclonecode
設定と確認の要求が異なることを確認してください。コード内にクッキーを設定すると、次の行に設定されているかどうかを直接確認することはできませんが、ページを最初にリフレッシュする必要があります。また、クッキーを設定することが最初のことであることを確認してください(空白などのように前に出力が全くない)。 – Quasdunk
毎回$ fila_idの価値がありますか? – Milap