Jump to content
googlefan

Eine Lösung: Warning: session_start(): Failed to decode session object

Recommended Posts

Hallo zusammen.

Es geht um diese Störmeldung

Warning: session_start(): Failed to decode session object. Session has been destroyed in /includes/functions/sessions.php on line 68
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /includes/functions/sessions.php:68)

Und als Folge, weil der Shop die Sprache nicht mehr weiß:

Warning: require(includes/languages/.php): failed to open stream: No such file or directory in /application_top.php on line 332
Fatal error: require(): Failed opening required 'includes/languages/.php' (include_path='.:/usr/local/lib/php/') in /functions/application_top.php on line 332

Die Störmeldung erscheint auf den Seiten

create_account_success.php
und oder auf
checkout_confirmation.php

Die Session wird zerstört, wenn der Kunde auf der Seite create_account.php oder auf der checkout_payment.php auf "weiter" klickt.

Als Sofortmassnahme hilft es wenn man in der configure.php die Session nicht in der MySQL DB speichert, sondern im Ordner /tmp

Ich habe lange nach der Ursache gesucht und mich Leerstellen nach den abschließenden ; ?> entfernt. Alle Dateien unter  UTF-8 ohne Bom gespeichert.

Nichts hat geholfen.

Es gibt einige die das gleiche Problem haben und  auch nach einer Lösung suchen. (Auch os Max und XT Shops sind betroffen)

Nun habe ich die Ursache gefunden.

Der Shop wurde mal erweitert mit der Anzeige der Datenschutzerklärung auf der Seite - create_account.php -  und mit der Anzeige der AGB auf der Seite - checkout_payment.php.

Diese Anzeige erfolgt in Formularfeldern

<textarea><?php echo $datenschutz; ?></textarea>

<textarea><?php echo $agb; ?></textarea>

Beim Klick auf die Taste "weiter" werden alle Inhalte der Formularfelder in die Session geschrieben.

Also nicht nur Vorname Nachname u.s.w sondern auch der ganze Text der AGB oder Datenschutzerklärung!!!. (Oh Gott)

Das geht solange gut, solange kein Semikolon ;; in dem Text der AGB oder Datenschutzerklärung steht.

Ist ein Semikolon enthalten oder ist der Text so lang dass er nicht ins Feld der Datenbank passt wird sie Session zerstört.

Abhilfe:

Die Texte der Datenschutzerklärung bzw die AGB müssen raus aus dem <textarea> Feld.

Stattdessen die Texte in einem scrolbaren DIV anzeigen lassen.

 

Gruß Googlefan

 

 

Share this post


Link to post
Share on other sites

Umständlicher kann man es wohl kaum machen!!!


  • The clever one learn from everything and from everybody
  • The normal one learn from his experience
  • The silly one knows everything better

[socrates, 412 before Christ]

Computers help us with the problems we wouldn't have without them!
99.9% of the bugs sit in front of the computer!
My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0

if(isset($this) || !isset($this)){ // that's the question...

 

Share this post


Link to post
Share on other sites

×