2015-11-15 28 views
0

考虑这个PHP和JavaScript代码:如何阅读与JavaScript的PHP的饼干正确

<?php $_COOKIE['test']='123'; ?> 
<script>console.log(document.cookie);</script> 

然后我在控制台看到的是: __utma = 111872281.291759993.1444771465.1445374822.1445436904.4; __utmz = 111872281.1444771465.1.1.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无); PHPSESSID = 8572f606897b1732c31a25dee29ca077

我想在javascript中使用$ _COOKIE ['test']的值......但这个奇怪的字符串对我没有用处。我怎样才能做到这一点 ?

+0

退房上设置cookie值的PHP手册:HTTP: //php.net/manual/en/function.setcookie.php全局cookie集合可让您访问当前的cookie,但不允许您在客户端上放置新的cookie。 –

+0

那么如何有人劫持饼干? @krisOye –

+0

此外,要获取特定的cookie值,请尝试在浏览器中使用getCookie()方法。 –

回答

0
<?php 
$cookie_name = "test"; 
$cookie_value = "123"; 
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day 
?> 

你需要写这样

你的PHP代码,你可以使用这个脚本如果妳可要特别是饼干

<script> 
function getCookie(cname) { 
    var name = cname + "="; 
    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); 
     if (c.indexOf(name) == 0) return c.substring(name.length,c.length); 
    } 
    return ""; 
} 

console.log(getCookie('test')); 
<script> 
+0

您仍然会使用这种方法获取所有的cookies,而不是您的单个“测试”cookie。 –

+0

该函数getCookie不起作用! @KrisOye –

+0

啊,奇怪,我认为这是一个跨浏览器的功能。太真了。 –