googlefan Posted January 26, 2019 Share Posted January 26, 2019 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 Link to comment Share on other sites More sharing options...
mcmannehan Posted March 14, 2019 Share Posted March 14, 2019 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... Link to comment Share on other sites More sharing options...
Recommended Posts