【问题标题】:How do I get a cookie from PHP to javascript?如何从 PHP 获取 cookie 到 javascript?
【发布时间】:2017-03-23 21:47:03
【问题描述】:

我无法从 Javascript 中的 readcookie 函数获取非空响应。理想情况下,我会得到一个关于 id 是否存在于我的数据库中的布尔响应,但目前它只出现空值。我查看了存储的 cookie,并且根本没有存储 IDFound cookie。

Javascript 方面:

function readCookie(name) {
    $.get("/test/phpServerGet.php","function(result){}")
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0){ console.log("found")
        return c.substring(nameEQ.length,c.length)};
    }
    return null;
}

PHP:

<?php
require_once 'path_to_db_connect.php';
$id_exists = false;
$CollegeID = $_COOKIE["CollegeID"];
echo $CollegeID;
$request = $connect->prepare("SELECT `CollegeID` FROM `users` WHERE `CollegeID` = ?;");
$request->execute(array($CollegeID));
$result = $request->fetch(PDO::FETCH_ASSOC);
$cookie_name = "IDFound";
if ($result['CollegeID'] == $CollegeID)
{   echo "YES";
        $id_exists = true;
}

else if ($result['CollegeID'] != $CollegeID)
{
        $id_exists = false;
}
setcookie($cookie_name, $id_exists, 1000);
?>

【问题讨论】:

标签: javascript php cookies


【解决方案1】:

PHP set cookie

setcookie($cookie_name, $id_exists, 1000);

第 3 个参数设置为 1000,尝试将其替换为

time() + 60 
setcookie($cookie_name, $id_exists, time() + 60);

这应该让浏览器有更多时间来查找和解析 cookie。 time() + 60 将是一分钟。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 2018-12-10
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 2018-05-19
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多