相关疑难解决方法(0)

检查cookie是否已启用

我正在开发一个需要javascript和会话的页面.如果禁用了javascript,我已经有代码警告用户.现在,我想处理禁用cookie的情况,因为会话ID存储在cookie中.

我想到了几个想法:

  1. 在会话ID和表单中嵌入会话ID
  2. 警告用户如果禁用了cookie,他们必须启用cookie(需要帮助检测是否禁用了cookie)

解决这个问题的最佳方法是什么?谢谢

编辑

根据链接的文章,我提出了自己的方法,并认为我会分享,其他人可能会使用它,也许我会得到一些批评.(假设您的PHP会话存储在名为的cookie中PHPSESSID)

<div id="form" style="display:none">Content goes here</div>
<noscript>Sorry, but Javascript is required</noscript>
<script type="text/javascript"><!--
if(document.cookie.indexOf('PHPSESSID')!=-1)
   document.getElementById('form').style.display='';
else
   document.write('<p>Sorry, but cookies must be enabled</p>');
--></script>
Run Code Online (Sandbox Code Playgroud)

javascript php session-cookies

65
推荐指数
5
解决办法
9万
查看次数

检测是否在PHP中启用了cookie

我试图检测我的页面上的用户是否启用了cookie.以下代码执行检查,但是,我不知道如何将用户重定向到他们来自的页面.

该脚本启动会话并检查它是否已检查过cookie.如果没有,它会将用户重定向到测试页面,因为我在第一页中调用了session_start(),所以如果用户代理启用了cookie,我应该看到PHPSESSID cookie.

问题是,该脚本可能是从我网站的任何页面调用的,我必须将它们重定向回所选页面,比如index.php?page = news&postid = 4.

session_start();
// Check if client accepts cookies //
if (!isset($_SESSION['cookies_ok'])) {
    if (isset($_GET['cookie_test'])) {
        if (!isset($_COOKIE['PHPSESSID'])) {
            die('Cookies are disabled');
        } else {
            $_SESSION['cookies_ok'] = true;
            header(-------- - ? ? ? ? ? -------- -);
            exit();
        }
    }
    if (!isset($_COOKIE['PHPSESSID'])) {
        header('Location: index.php?cookie_test=1');
        exit();
    }
}
Run Code Online (Sandbox Code Playgroud)

php

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

php ×2

javascript ×1

session-cookies ×1