2010-01-13 5 views
5

Hallo in codeigniter wie würde ich überprüfen, ob der Benutzer die Website zum ersten Mal besucht, und ob sie ein Cookie gesetzt sind?Codeigniter Cookies Hilfe

Ich verwende bereits die Session Bibliothek und Datenbanksitzungen, die die session_id usw. speichern, aber ich muß in der Lage sein zu überprüfen, ob der Benutzer zum ersten Mal besuchen, und wenn sie ein Cookie bereits `

$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'));` 
haben
+0

Vielleicht sollten Sie das KohanaPHP-Framework ausprobieren? http://kohanaphp.com ist ein Zweig des CodeIgniter-Frameworks und ist innovativer IMHO; Vor Jahren habe ich CodeIgniter verwendet, bin aber der Gruppe von Benutzern beigetreten, die von der langsamen und nicht reagierenden Entwicklung von CodeIgniter durch Rick Ellis und Co. krank geworden sind. – Ixmatus

+35

@Ixmatus - Frameworks zu wechseln, nur damit Sie einen Cookie setzen können, ist purer Wahnsinn. – zombat

Antwort

14

die Cookie-Helfer verwenden, können Sie, wenn ein Benutzer, indem Sie zum ersten Mal besucht, ist überprüfen konnten:

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

Verwenden Sie die Cookie Helper zum Abrufen/Setzen von Cookies.

+0

Ich verwende den Cookie-Helfer, bitte lesen Sie meinen geänderten Beitrag für den Code, den ich verwende – Udders

0

Faust alles, was Sie wissen müssen, die Grundidee über Cookie Session wird in Server erstellen wo als Cookie im Client-Browser erstellt.

so das Cookie erstellt werden, wenn immer Sie die PHP-Datei zu suchen (in dem der Set-Cookie-Code ist ter)

Und von der nächsten Anfrage weiter finden Sie den Abschnitt erhalten

1

Jede andere Erkenntnis zu lesen ungerade Ergebnisse bei der Verwendung von cotignighters Cookies sicher sein, dass der Cookie mit Codeignighter $ this-> input-> set_cookie statt PHP eigenen setcookie Methode gesetzt wurde.

Ich hatte seltsame Ergebnisse, bis ich alle Cookies löschen und es mit Codeignighters eigenen Methode zurücksetzen.