2010-01-15 5 views
-1

Sur mon site l'utilisateur est accueilli avec un oui/non menu ce qui détermine si elles le voient, est ce peiece de code.Cookie ne pas enregistrer

if(!isset($_COOKIE['bangUser'])) { 
      // Get createRandomId() method and return a unique ID for the user 
      $unique = ''; 
      // Setting the cookie, name = bangUser, the cookie will expire after 30 days 
      setcookie("bangUser", $unique, time() + (60*60*24*30)); 
      $data['firstTime'] = TRUE; 
     } else { 
      $data['notFirstTime'] = TRUE; 
     } 

Si l'utilisateur clique sur oui, alors cette course

function createCookie() { 
     // Function gets called when the user clicks yes on the firstTime menu. 
     // The purpose of this function is to create a cookie for the user. 
     // First we'll give them a unique ID 
     $unique = $this->createRandomId(); 
     // Set an expiration time 
     $expireAt = time() + (60*60*24*30); 
     // With the unique ID now available we can set our cookie doing the same function as before 
     $_COOKIE[] = setcookie("bangUser", $unique, $expireAt); 
     // Now that the cookie is set we can do a 100% check, check that cookie is set and if it is redirect to 
     // to the homepage 
     if(isset($_COOKIE['bangUser'])) { 
      // We need to save the cookie data to the database 
      // First let's load the model for the cookies 
      $this->load->model('cookieModel'); 
      $this->cookieModel->saveCookieRecord($unique, $expireAt); 
      redirect('/welcome'); 
     } 
    } 

si aucun code est exécuté,

function createCookieLater() { 
      // Function gets called when the user clicks yes on the firstTime menu. 
      // The of this function is create a cookie for the user, but this time it, 
      // It will expire when the user closes the window. 
      // Again we give them an ID 
      $unique = $this->createRandomId(); 
      $_COOKIE[] = setcookie("bangUser", $unique, 0); 
      // Now that we have set the cookie, we again need to check that it is properly set, 
      // and if it we can redirect the user back to the main page, again. 
      if(isset($_COOKIE['bangUser'])) { 
       // We need to save the cookie data to the database 
       // First let's load the model for the cookies 
       $this->load->model('cookieModel'); 
       $this->cookieModel->saveCookieRecord($unique, $expireAt); 
       redirect('/welcome'); 
      } 
     } 

espoir que certains peuvent me aider

Répondre

4

Vous devez spécifier vraiment domaine lors du stockage des cookies:

setcookie("bangUser", $unique, time() + (60*60*24*30)); 

devrait devenir:

setcookie("bangUser", $unique, time() + (60*60*24*30), '/', '.yourdomain.com'); 

Je suis sûr que c'est votre problème.

+1

+1 Eh bien, plus le chemin que le domaine, je dirais. (Le chemin courant sera utilisé si le chemin n'est pas défini). –

+0

Merci cballou et Pekka – Udders

Questions connexes