使用PHP读取Javascript cookie

使用PHP读取Javascript cookie,javascript,php,cookies,Javascript,Php,Cookies,我有一些设置cookie的javascript代码,当我试图用php读取cookie时,它会说它是未定义的 Notice: Undefined index: scorecount in C:\xampp\htdocs\Contest\score.php on line 44 我正在使用xamp在我的计算机上运行和测试php,这可能是它不读取cookie的原因吗 这是我的密码 <!DOCTYPE html> <html> <head>

我有一些设置cookie的javascript代码,当我试图用php读取cookie时,它会说它是未定义的

Notice: Undefined index: scorecount in C:\xampp\htdocs\Contest\score.php on line 44
我正在使用xamp在我的计算机上运行和测试php,这可能是它不读取cookie的原因吗

这是我的密码

<!DOCTYPE html>
<html>
    <head>
        <title>PHP Written Test</title>
    </head>
    <body style="background-color:#ADD8E6; margin-left:25%;">
        <?php include 'variables.php';?>
        <?php include 'functions.php';?>
        <?php     
            session_start();   
            $x = 1;
            $y = 0;
            $score = 0;

            while ($x <= 20) {  
                $a = $_POST["question" . $x];
                $b = $_SESSION['correct'][$y];
                $c = $_SESSION['question'][$y];

                if (trim($a) == trim($b)){      
                    $score++;   
                } else {
                    echo "$c<br>Your answer was: $a<br>The correct answer is: $b<br><br>";  
                }

                $x++;
                $y++;
            }

            echo "$score/20";
            echo $_COOKIE["scorecount"]; 
    ?>
    </body>
</html>

PHP笔试
我会发布一张图片来证明cookie设置正确,但我没有足够的重复。 当我在我的网络浏览器中查看所有cookie时,cookie“scorecount”就在那里并且设置正确,如果有人能告诉我我做错了什么,那将非常感谢

设置cookie的我的JS

function getCookie(c_name)
{
   alert("Im in getCookie");
   var i,x,y,ARRcookies=document.cookie.split(";");
   for (i=0;i<ARRcookies.length;i++)
  {
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
     x=x.replace(/^\s+|\s+$/g,"");
     if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function setCookie(c_name,value,exdays)
{
   alert("Im in setCookie " );
   var exdate=new Date();
   exdate.setDate(exdate.getDate() + exdays);
   var c_value=escape(value) + ((exdays==null) ? "" : ";               

   expires="+exdate.toUTCString());  
   document.cookie=c_name + "=" + c_value;
   alert("Cookie Set");
}

function checkCookie(end)
{
   alert("Im in checkCookie");
   document.getElementById('full').ondragstart = function noDrag() { return false; };
   var score=getCookie("scorecount");
if (score!=null && score!="")
  {
     if(end == 'yes')
     {

     score = score - 1;




    return score;

     alert("Your score is " + score);

    }
    else 
    {

     score=1;
  if (score!=null && score!="")
    {

       setCookie("scorecount",score);
       //alert("Your score is " + score);
    }
  }
}

function correct(pgnmbr)
{
   var val;


   val = getCookie('scorecount');
   val = parseInt(val)+ 1;
   setCookie('scorecount',val);
   location.href = loc();
   alert(val);

}
function correct2(pgnmbr)
{
   var val;


   val = getCookie('scorecount');
   val = parseInt(val)+ 1;
   setCookie('scorecount',val);
   location.href = loc2();


}

   var clicks = 0;
function wrong(pgnmbr)
{   

   clicks++;
 if(clicks < 3)
 {

   alert("wrong try again");

 }
 else
 {  
   alert("you have exceeded your amount of trys");


    location.href = loc();
}
}

document.getElementsByClassName('box1')[0].addEventListener('click', correct, false);

document.getElementsByClassName('bg')[0].addEventListener('click', wrong, false);
函数getCookie(c_名称) { 警报(“我在getCookie中”); 变量i,x,y,ARRcookies=document.cookie.split(“;”);
对于(i=0;i尝试通过ajax调用将cookie内容发送到您想要用来读取cookie的php函数,祝您好运

好的,我解决了我的问题,显然您只能读取设置在同一域上的cookie…#Duh#Noobie感谢大家的建议!!

首先检查它是否通过了标题,您可以发布您的js co吗de this set the cookie?@DaveCribbs你发布的代码有很多不必要的空白,很难阅读。你应该在提问时发布格式良好的代码。OP就是这么做的。实际上我不知道ajax是什么……这是我第一次使用php,但从我的理解来看,我拥有的代码应该可以工作……甚至我的Professor被这件事难住了。