Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否启用或禁用Javascript/Cookie?_Php_Javascript_Cookies - Fatal编程技术网

Php 是否启用或禁用Javascript/Cookie?

Php 是否启用或禁用Javascript/Cookie?,php,javascript,cookies,Php,Javascript,Cookies,我正在寻找一些代码,如果用户启用或禁用JavaScript以及cookie,这些代码将返回我的值 我知道这可能很容易做到,但我的时间限制太紧了,很痛。必须有一些东西在那里使用php来做到这一点。理想情况下,我希望找到具有页面设置的代码,其中包含可能影响脚本的所有可能值 编辑:显然JavaScript可能被禁用,但是,我希望我能找到一些东西来测试这两种情况 我的解决方案 对于其他正在寻找代码来检测用户是否启用或禁用了cookie的人,下面是我从下面的帖子中得出的结论。。。你可以把它放在任何页面的顶

我正在寻找一些代码,如果用户启用或禁用JavaScript以及cookie,这些代码将返回我的值

我知道这可能很容易做到,但我的时间限制太紧了,很痛。必须有一些东西在那里使用php来做到这一点。理想情况下,我希望找到具有页面设置的代码,其中包含可能影响脚本的所有可能值

编辑:显然JavaScript可能被禁用,但是,我希望我能找到一些东西来测试这两种情况

我的解决方案

对于其他正在寻找代码来检测用户是否启用或禁用了cookie的人,下面是我从下面的帖子中得出的结论。。。你可以把它放在任何页面的顶部,它就可以工作了

<?php
// do a cookie test
if (!isset($_SESSION['cookie_check']))
{
    if (!isset($_GET['cc']))
    {
        // drop a cookie in their bag
        setcookie("cookiecheck", "ok", time()+3600);
        header("Location: ".$common->selfURL()."?cc=1");
        exit(0);
    }
    else
    {
        // do we have a problem?
        if (@$_COOKIE['cookiecheck'] != "ok")
        {
            // we have a problem
            header("Location: /site-diag.php");
            exit(0);
        }
        else
        {
            $_SESSION['cookie_check'] = true;
        }
    }
}
?>

您可以使用编写cookie,然后查看是否可以重新读取。这将告诉您是否在客户端浏览器中启用了Cookie。

这里有一个用于检查Cookie的选项


如果禁用了javascript,则不能使用jquery或prototype

编写一个函数来写入cookie,然后尝试读取它

然后在屏幕上显示一些js代码,对基本php脚本进行ajax调用


您可以使用数据库设置访问者表上两个测试的布尔结果(如果有)

首先,要意识到,如果关闭JavaScript,就不能使用JavaScript检查cookies。检查cookies是否打开的常用方法是先写一个cookies,然后再读取它

您是否关心cookies打开但JavaScript关闭的情况?根据这些信息,你打算做什么

我找到了通过PHP检查cookie的方法。不依赖JavaScript。PHP是您的服务器语言吗

<?php
class cookieCheck
{

    public function check()
    {
        if (setcookie("test", "test", time() + 100))
        {
            //COOKIE IS SET 
            if (isset ($_COOKIE['test']))
            {
                return "Cookies are enabled on your browser";
            }
            else
            {
                return "Cookies are <b>NOT</b> enabled on your browser";
            }
        }

    }
}
?>

检查Javascript时,要么有,要么没有。如果没有,您可以使用
标记显示一条消息,要求他们打开它,在里面放置一个元重定向,等等。这就是您的测试能力范围


至于cookies,只需尝试设置cookie,然后将其读回即可!由于您担心Javascript处理cookie的能力,我假设您已经有了一个正在使用的cookie库,这意味着您可以对测试cookie使用
set
函数,然后使用
get
函数将其读回。如果无法读回测试cookie,cookie将关闭。

这是我检查cookie和JavaScript是否已启用的方法:

if($_SESSION['JSexe']) { // 3rd check js
    if($_COOKIE['JS']) {
        setcookie('JS','JS',time()-1); // check on every page load
    }
    else {
        header('Location: js.html');
    }
}
// 2nd so far it's been server-side scripting. Client-side scripting must be executed once to set second cookie.
// Without JSexe, user with cookies and js enabled would be sent to js.html the first page load.
elseif($_COOKIE['PHP']) {
    $_SESSION['JSexe'] = true;
}
else { //1st check cookies
    if($_GET['cookie']) {
        header('Location: cookies.html');
    }
    else{
        setcookie('PHP','PHP');
        header('Location: '.$_SERVER['REQUEST_URI'].'?cookie=1');
    }
}

此处详细解释:

如果启用了JavaScript,它将:你还想测试Java吗?我在考虑制作一个红色的框,上面写着“Java已禁用”,如果Java已启用,只需将其替换为一个绿色框…你的站点是否同时使用Java和JavaScript?不,只是JavaScript。。。对我来说说java很容易。。。我是说javascript,对不起;)在读取正在使用setcookie()设置的cookie之前,您不需要执行重定向吗?如果我的内存工作正常,第一次运行此代码时,您将得到“未启用”响应,但如果要刷新,则会显示cookie已设置。