2010-01-13 4 views
5

Bonjour dans le codeigniter comment je vérifierais si l'utilisateur visite le site pour la première fois, et si elles sont définies un cookie?Codeigniter Cookies Aide

J'utilise déjà les sessions de la bibliothèque de session et la base de données qui stocke les id_session etc, mais je dois être en mesure de vérifier si l'utilisateur est un premier visiteur de temps et si elles ont un cookie déjà `

$cookie = array(
          'name' => 'some_value', 
          'value' => 'The Value', 
          'expire' => time()+86500, 
          'domain' => '.some-domain.com', 
          'path' => '/', 
          'prefix' => '', 
         ); 

     set_cookie($cookie); 
     var_dump(get_cookie('some_value'));` 
+0

Peut-être devriez-vous essayer le framework KohanaPHP? http://kohanaphp.com c'est une branche du cadre CodeIgniter et est plus innovant à mon humble avis; Il y a quelques années, j'avais l'habitude d'utiliser CodeIgniter, mais j'ai rejoint le groupe d'utilisateurs qui en ont eu marre du développement lent et inconscient de CodeIgniter par Rick Ellis et co. – Ixmatus

+35

@Ixmatus - Changer les frameworks juste pour pouvoir définir un cookie est une pure folie. – zombat

Répondre

14

en utilisant l'aide de cookies, vous pouvez vérifier si un utilisateur est un premier visiteur de temps en faisant:

if (!get_cookie('some_value')) { 
    // cookie not set, first visit 

    // create cookie to avoid hitting this case again 
    $cookie = array(
     'name' => 'some_value', 
     'value' => 'The Value', 
     'expire' => time()+86500, 
     'domain' => '.some-domain.com', 
     'path' => '/', 
     'prefix' => '', 
    ); 
    set_cookie($cookie); 
} 
2

Utilisez le Cookie Helper pour obtenir des cookies.

+0

J'utilise l'aide cookie, s'il vous plaît voir mon post modifié pour le code que j'utilise – Udders

0

poing de tout ce que vous devez savoir l'idée de base sur biscuit session crée dans le serveur où cookie est en cours de création dans le navigateur des clients.

si le cookie sont créées chaque fois que vous naviguez sur le fichier php (dans lequel le code cookie jeu est ter)

Et de la demande suivante vous obtiendrez en avant la section pour lire

1

toute personne qui trouve autre des résultats étranges lors de l'utilisation de cookies codeignighters être sûr que le cookie a été défini en utilisant codeignighters $ this-> input-> set_cookie au lieu de la propre méthode setcookie de PHP.

J'ai eu des résultats étranges jusqu'à ce que j'aie effacé tous les biscuits et l'ai réinitialisé avec la méthode propre de codeignighters.