首页 > 解决方案 > 如何使用 JavaScript (AJAX/jQuery) 判断 PHP $_SESSION cookie 是否存在?

问题描述

我正在我的PHP/MySQL服务器上工作(网站实际上只是一个 PHP 服务器),我想从PHP回显切换到JavaScript写东西。我想要这个是因为以下原因。

1:JavaScript 在我的页面上更容易,并且

2:因为某种原因 PHP 回显会破坏我的导航栏,但 JavaScript 不会。我可以做这样的事情,但调整它以判断它是否存在?

这是我的代码:

<script>
document.cookie = "username='<?php echo $_SESSION['username'] ?>';";
var u = document.cookie;
document.getElementById("username").innerHTML = u();
</script>

标签: javascriptphpjqueryhtmlajax

解决方案


出于某种原因,PHP 回显会破坏我的导航栏,但 JavaScript 不会

如果我们有足够数量的代码和运行时的 HTML 源示例,这听起来像是一个我们可能会解决的问题。

无论如何 - 这可能比回显变量简单得多 - 您可以在 PHP 中设置一个 cookie 并在 JavaScript 中检索它,而无需内联 PHP 标记。一些示例代码:

PHP(了解setcookie):

setcookie("username", $_SESSION['username']);

JavaScript(来自this SO answer的函数):

function getCookieValue(a) {
    var b = document.cookie.match('(^|;)\\s*' + a + '\\s*=\\s*([^;]+)');
    return b ? b.pop() : '';
}

var u = getCookieValue("username");

推荐阅读