Cookie检测代码不工作


Cookie detection code not working

好的,我正在构建一个成员区部分,我需要检查浏览器是否支持cookie。索引页面将检查cookie是否存在,如果不存在,将设置cookie并重定向到另一个页面,该页面将检查设置的cookie,如果找到cookie则重定向回索引页面,否则将显示错误消息,要求用户启用cookie。请帮忙,我收到"没有饼干"的信息。

index.php

<?php
    if( !isset($_COOKIE['cookies_enabled']) ){
    setcookie( 'cookies_enabled', '', time() + 3600 * 24 * 365, '', '.example.com', 0, 1 );
    header("Location: http://www.example.com/members/login.php");
    exit;       
}else{
    $cookie_enabled = TRUE;
}
?>
<?php if( $cookie_enabled ) : ?>
    //do stuff
<?php endif; ?>

login.php

<?php
    if( isset($_COOKIE['cookies_enabled']) ){
    header("Location: http://www.example.com/members/");
    exit;
}else{
    $cookie_enabled = FALSE;
}
?>
<?php if( $cookie_enabled === FALSE ): ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    </head>
    <body>
        <p>No cookie</p>
    </body>
    </html>
<?php endif; ?>

设置cookie值时有一个小错误。

setcookie( 'cookies_enabled', 'COOKIE_VALUE', time() + 3600 * 24 * 365, '', '.example.com', 0, 1 );

由于您要检查cookie是否已设置,因此需要指定cookie值(我在代码中将其设置为cookie_value)。为cookie添加适当的值,然后它就可以工作了。

我希望这能有所帮助。