-1

ログインページの上部にこのコードを貼り付けました。ユーザーが既にログインしている場合は、ユーザーをホームページにリダイレクトする必要がありますが、機能しません。Cookie が設定されていることを知っていても、何もしません。Cookie が設定されていることをさらに確認するために、Chrome の設定に移動し、Web サイトに保存されているすべての Cookie を確認しました。確かに、Cookie はそこに設定されていました。これが機能しない理由はわかりません。おそらく私が犯したばかげた小さなエラーですが、私は一晩中プログラミングを行っており、新鮮な目で私が見逃した可能性のあるものを見つけることができると思います.

コード:

<?php
    if(isset($_COOKIE['user'])){
        header("Location: index.php?content=home");
    }
?>

Cookie の割り当て方法:

<?php
$user = $_POST['user'];
$pass = $_POST['pass'];

$redir = $_GET['redir'];

include('con.php');

$query = mysql_query("SELECT * FROM users WHERE name='{$user}'");
$numrows = mysql_num_rows($query);
$array = mysql_fetch_array($query);

if($user==""||$pass==""){
    header('Location: ../login.php?error=Please fill out EVERYTHING&redir=' . $redir);
}

else if($numrows < 1){
    header('Location: ../login.php?error=User does not exist&redir=' . $redir);
}

else if($pass !=$array['pass']){
    header('Location: ../login.php?error=Invalid user/pass combo&redir=' . $redir);
}

else{
    setcookie("user", $array['ID']);
    header('Location: ../index.php?content=' . $redir);
}

?>

編集:以下は私が得ているものです print_r($_COOKIE)

Array
(
    [_okbk] => cd4=true,vi5=0,vi4=1381557924453,vi3=active,vi2=false,vi1=false,cd8=chat,cd6=0,cd5=away,cd3=false,cd2=0,cd1=0,
    [_ok] => 5197-288-10-3215
    [olfsk] => olfsk8855679365806282
    [wcsid] => aqVZBde4DlLmegpG5L3JS16nDXl0aIA9
    [hblid] => oBSPj2E8hdamA4nK5L3JS16nDXrqAaPK
    [_oklv] => 1381563654520,aqVZBde4DlLmegpG5L3JS16nDXl0aIA9
)
4

1 に答える 1

2

のように 0 秒間 Cookie を設定していますsetcookie("user", $array['ID']);。の 3 番目のパラメータはsetcookie$expireあり、デフォルトでは です=0

setcookie("user", $array['ID'], 3600, '/'); # set cookie for 1 hour and for whole domain
于 2013-10-12T08:17:25.490 に答える