我正在用javascript设置cookie,并尝试用PHP读取它,但是php无法读取它。我已经检查了cookie是否真的是用一个叫做Cookies Manager的工具设置的。
法典(JS):
<script>
document.cookie="encrIv=" + ivB64;
</script>代码(PHP):
<?php
$encrIv = $_COOKIE['encrIv'];
echo $encriv;
?>我得到了
注意到:未定义索引:C中的encrIv:\Users\joonas\Desktop\Webon cms\root\readCookie.php on line 1
曲奇的屏幕截图:

发布于 2015-07-28 09:54:52
<!DOCTYPE html>
<html>
<head>
<title>example</title>
<script type="text/javascript">
document.cookie = 'name=David' ;
</script>
</head>
<body>
<?php
var_dump($_COOKIE['name']);
?>
</body>
</html>这样,饼干就被设置好了。你纠正台风了吗?你写道:
<?php
$encrIv = $_COOKIE['encrIv'];
echo $encriv;
?>正确的方法是将回波更改为
echo $encrIv;或者将变量更改为
$encriv = $_COOKIE['encrIv'];编辑:
也许你的问题是没有定义的路径。定义如下曲奇:
document.cookie = 'sconName='+changedName+'; path=/'发布于 2015-07-28 09:28:14
将代码,特别是回显部分,从$encriv更改为$encrIv,如下面的简单示例所示
假设这是index.php,您需要访问first.The文件,该文件将设置encrIv cookie的值
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
document.cookie="encrIv=samplecookie";
</script>
</head>
<body>
<?php
$encrIv = isset($_COOKIE['encrIv'])?$_COOKIE['encrIv']:'';
echo $encrIv;
?>
</body>
</html>然后,这是您将在加载readCookie.php之后访问的index.php。
<?php
$encrIv = isset($_COOKIE['encrIv'])?$_COOKIE['encrIv']:'';
echo $encrIv;
?>这显然对你有帮助,我的朋友
发布于 2015-07-28 09:55:49
如果在加载页面后刷新页面,您的代码对我来说很好。
您的javascript代码将在php代码之后运行(当php解释器处理了html+php代码,浏览器解释了已处理的html代码),这意味着当您尝试使用php访问它时,它还没有设置。但是当您重新加载页面时,cookie就会出现,而php可以访问它。
https://stackoverflow.com/questions/31672232
复制相似问题