Php 依赖会话var not existing查看Cookie是否已禁用

Php 依赖会话var not existing查看Cookie是否已禁用,php,cookies,Php,Cookies,逻辑、手册和谷歌都说我是对的,但我不是专业人士,我想100%肯定它在任何情况下都适用于所有浏览器 我想检查用户的浏览器中是否禁用了cookies。我不能依赖isset$_COOKIE['test'],因为当它是一个新用户或用户删除了所有COOKIE时,将不会有COOKIE,COOKIE仍然可以启用。 我提出了一个非常简单的解决方案,但我的问题是:我能确保这个方法有效吗 如果第1页是:domain/index.php 第2页是:domain/login/index.php 这会一直有效吗? [编辑

逻辑、手册和谷歌都说我是对的,但我不是专业人士,我想100%肯定它在任何情况下都适用于所有浏览器

我想检查用户的浏览器中是否禁用了cookies。我不能依赖isset$_COOKIE['test'],因为当它是一个新用户或用户删除了所有COOKIE时,将不会有COOKIE,COOKIE仍然可以启用。 我提出了一个非常简单的解决方案,但我的问题是:我能确保这个方法有效吗

如果第1页是:domain/index.php

第2页是:domain/login/index.php

这会一直有效吗? [编辑] 回答我自己的问题:不,这行不通

我在下面发布了一个有效的解决方案。
谢谢大家为我指明了正确的方向。

谢谢大家为我指明了正确的方向

我的解决方案有效,因此我将与您分享:

index.php

和login/index.php


请参见

您似乎对会话和cookies感到困惑-可能不是-A“请打开您的cookies”。会话id是否更有效也可以存储在服务器中…设置会话。使用\u cookies=on和会话。仅使用\u cookies=onAm I right会话id存储在cookie中?但是重定向会生成新的会话id还是使用相同的id?
<?php
session_start();
$_SESSION['id']='Hello';
session_write_close();
header('Location: login');
?>
<?php
session_start();
if(empty($_SESSION['id'])){
    echo 'Turn on your cookies!';
    }
?>
<?php
ini_set('session.use_cookies',1);
ini_set('session.use_only_cookies',1);
ini_set('session.cookie_httponly',1);


$name='test';
if(empty($_COOKIE[$name]){
    session_start();
    //it seems nessecary to write something in the session
    $_SESSION['test']=test;
    session_write_close();
    }

//redirect to a login page
header('Location: http://example.com/login/');
}
?>
<?php
$name='test';
if(empty($_COOKIE[$name])){
  echo 'Turn on your cookies';
die;
}
?>