我不确定是否可以在php cookie值中读取jquery cookie值?
var current = $.cookie("count");
show<?php echo $keys; ?><?php setcookie("bgx","document.write(current)"); echo $_COOKIE["bgx"]; ?>now.play();
$.cookie('count', <?php echo $count; ?>);
答案 0 :(得分:3)
这是一个简单的演示,演示如何使用JavaScript创建cookie并在重新加载页面时使用PHP读取它(因为JavaScript是在PHP之后执行的,因为它是客户端)。将此代码复制到新的PHP文档中,将其上传到您的服务器,然后尝试。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
</head>
<body>
<h1>Cookie demo</h1>
<p>This demo shows how you can create a cookie with Javascript (using jQuery), and read it with PHP.</p>
<?php
/* THIS PORTION IS EXECUTED ON THE SERVER */
// if the cookie "myCookie" is set
if(isset($_COOKIE['myCookie'])){
echo "<p><b>PHP found this value for <i>myCookie</i>: " . $_COOKIE['myCookie'] . "</b></p>";
}
else{
echo "<p><b>PHP did not find a value for <i>myCookie</i>. Give it a value below.<b></p>";
}
?>
<input type="text" id="myInput"/><button id="myButton">Change the cookie value using JS</button>
<!-- make sure you load jQuery and the jQuery cookie plugin -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-alpha1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script>
/* THIS PORTION OF CODE IS ONLY EXECUTED WHEN THE USER SEES THE PAGE (CLIENT-SIDE) */
$(function(){
$('#myButton').click(function(){
$.cookie('myCookie', $('#myInput').val());
alert(
'The value of myCookie is now "'
+ $.cookie('myCookie')
+ '". Now, reload the page, PHP should read it correctly.'
);
});
});
</script>
</body>
</html>
答案 1 :(得分:2)
Cookie是存储在浏览器中并与网站相关联的一段数据。每当浏览器从网站请求某些内容时,它都会在请求标头中包含Cookie。
您可以使用客户端JavaScript读写Cookie。 (注意:可以将cookie标记为http_only,在这种情况下,它们无法与客户端JS一起阅读。)
您可以阅读(通过检查请求标头)并使用服务器端代码编写(使用响应标头)Cookie。
通常的时间规则适用:
show<?php echo $keys; ?><?php setcookie(
使用服务器端代码设置cookie需要您发出响应标头。在您开始输出响应正文后,PHP不允许您发出响应标头。
您试图致电setcookie
为时已晚。您需要在开始输出任何内容之前调用它。
"document.write(current)"
我不确定你在这里想要达到的目标。
current
的值写入Cookie,则为时已晚。setcookie("bgx","document.write(current)"); echo $_COOKIE["bgx"];
$_COOKIE
填充了请求中的数据。
其中没有数据显示您当前的回复约要求客户存储。您无法获得新值直到下一个请求。
简而言之:要使用JavaScript读取Cookie集,您必须在设置之后发出新的HTTP请求。