Codeigniter kann kein Cookie erstellen

  • Ich versuche, einen Cookie mit Codeigniter für etwa 2 Tage zu erstellen. (Ich sollte mich nur fragen, bevor ich die Frage stellte ...)

    Jeder möchte mir erklären, was mit diesem Code falsch ist:

         $websiteUrl = preg_replace("/^[\w]{2,6}:\/\/([\w\d\.\-]+).*$/","$1", base_url());
        $this->load->helper('cookie');
    
        $cookie = array(
                   'name'   => 'rememberMe',
                   'value'  => $this->encrypt->encode(serialize($serialize)),
                   'expire' => (time() + $this->config->item('remember_me')),
                   'domain' => '.'.$websiteUrl,
                   'path'   => '/',
                   'prefix' => 'chv_',
                   'secure' => false,
               );
    
        set_cookie($cookie);
     
    22 November 2011
2 answers
  • Stellen Sie sicher, dass kein zusätzlicher Leerraum geladen wird, bevor Sie set_cookie ausführen, um zu verhindern, dass der Cookie-Header an den Browser gesendet wird. Ich habe viele Stunden damit verbracht, dieses Problem aufzuspüren und fand heraus, dass ich am Ende eines schließenden Tags irgendwo einen zusätzlichen Platz hatte. Wenn Sie E_WARNING aktivieren, sollte das Problem angezeigt werden.

    22 November 2011
    Shane Fright
  •  $this->input->set_cookie($cookie)
     

    ($this ist eine CI-Instanz)

    Stellen Sie sicher, dass $this->config->item('remember_me') & gt; 0


    Ich habe oft mit CI gearbeitet und ich habe immer die native setcookie () - Funktion verwendet, weil ich wirklich keine brauche Rahmen zum Setzen von Cookies (einfache Bedienung) ... Laut Dokumentation mit CI-Instanz und Eingabe sollte CI->input->set_cookie() jedoch die Aufgabe erfüllen. Denken Sie daran, dass NO FRAMEWORK 100% perfekt funktioniert ... Es ist nur ein Rahmen ... Sie können den CI-Code Schritt für Schritt debuggen, um zu sehen, was passiert.

    (aus Kommentar)

    22 November 2011
    Peter