2014-04-21 2 views
0

J'ai un code javascript qui définit un cookie et quand j'essaie de lire ce cookie avec PHP, il est dit qu'il est indéfini.Lire un cookie Javascript avec PHP

Notice: Undefined index: scorecount in C:\xampp\htdocs\Contest\score.php on line 44 

J'utilise xamp pour lancer et tester le php sur mon ordinateur, qui pourrait être la raison pour laquelle il ne lit pas le cookie?

Voici mon code

<!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> 

Je posterais une photo pour prouver que le cookie est correctement réglé, mais je n'ai pas assez représentant. Quand je regarde tous les cookies dans mon navigateur web, le cookie "scorecount" est là et est réglé correctement, si quelqu'un pouvait me dire ce que je fais de mal ce serait super merci!

Mon JS qui définit le cookie

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); 
+0

Vérifiez si elle est passée avec les en-têtes en premier – zerkms

+0

Pouvez-vous publier votre code js qui définit le cookie? – Class

+0

J'ai ajouté mon JS .. –

Répondre

1

Ok je résolu mon problème apparemment vous pouvez seulement lire un cookie qui a été placé sur le même domaine ... # Duh # Noobie Merci pour les suggestions si les gars !!

0

Essayez d'envoyer le contenu des cookies avec un appel ajax à la fonction php que vous souhaitez utiliser pour lire le cookie, bonne chance

+0

C'est ce que l'OP fait en fait – zerkms

+0

Je n'ai aucune idée de ce que ajax est ... c'est ma première fois en utilisant php mais d'après ce que je comprends le code que je dois travailler ... même mon professeur est perplexe . –