我想使用ajax GET
方法向服务器发送内容并使用cookie,因此我将值发送到ajax,我需要此值来更新当前cookie值。在ajax文件中,我无法检索$_COOKIE['cookie_name']
,当我回应它时,结果将是这样的 - > []!
function card(action,value) {
if (value == "") {
document.getElementById('errmsgs').innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('errmsgs').innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","inc/pricing/pricing.php?act="+action+"&val="+value,true);
xmlhttp.send();
}
}
定价页面是:
<?php
require_once '../../connection.php';
require_once '../../func.php';
$what_is_action = $_REQUEST['act'];
$myCook = $_REQUEST['val'];
}
echo $full_cookie_value = $_COOKIE['mycookiename']; ----> output will be--> [] ---->but it must be something like this ---> {"wwde34":"1","effy33":"1","ssdfff":"1"}
if($what_is_action == 'delete'){
//delete_cook($myCook);
}
?>
解决。
问题是,当我尝试创建cookie时,它不是root用户,所以在另一个文件夹中它无法访问!所以我在setcookie的最后一个参数中加了'/'
例如:setcookie('a','b',time()+36666,'/')
这将在root中创建cookie,并且可以在其他文件夹中访问它!
答案 0 :(得分:0)
您的Cookie已经制作好了吗?
确保已设置Cookie!示例:
如果您看到I按钮,则需要按下它并找到饼干和胶囊,检查您是否可以在那里找到您的饼干!这必须在您的网站上完成。
获取错误
try
{
echo $_COOKIE['name']['bills'];
}
catch (Throwable $t) // PHP 7
{
echo '<b>COOKIE is not made</b>';
}
catch (Exception $e) // PHP 5
{
echo '<b>COOKIE is not made</b>';
}
答案 1 :(得分:0)
你知道,如果那是你文件中的实际代码,那你就不在echo之后分配一个变量,对吗?
echo full_cookie_value
应为echo $full_cookie_value
,或者如果您尝试将'full_cookie_value'作为“标签”回显,echo 'full_cookie_value '.$_COOKIE['mycookiename']