Folge xaranshop auf Facebook

xaranshop® - Die Onlineshop Software für kleine und mittelständische Unternehmen.

            « Zurück
Fehlermeldung beim Bestellvorgang
xaranshop® V4.0
Konfiguration und Einrichtung

Name: Hans Hirzer          hirzer68 (ατ) web.de
Datum: 14.03.2016 14:49:03

  Hallo,

ich habe folgendes Problem: Wenn der Artikel über die Schaltflächen "Bestellen" in den Warenkorb gelegt werden soll, dann erhalte ich folgende Meldung:
Warning: Cannot modify header information - headers already sent by (output started at /homepages/24/d185567304/htdocs/edc/start.php:1) in /homepages/24/d185567304/htdocs/edc/funktionen.php on line 521

Für einen Tipp zur Problembeseitigung der weiterhilft, wäre ich sehr dankbar.

MfG
Hans Hirzer
 
  Ralf Ehlers antwortet am 21.03.2016 14:07:44
Hallo Herr Hirzer,

ich gebe Ihnen mal einen Tipp, wie Sie vom Software-Anbieter einen Tipp bekommen.

Zitat:
"Weiterhin werden nur Beiträge mit Angabe des vollständigen Namens und der vollständigen Internetadresse zum Webshop vom Autor beantwortet."

Dieser Hinweis steht im Forum direkt am Anfang. Ich denke, wenn diese Bitte erfüllt ist, bekommen Sie auch Ihren gewünschten Tipp.

Mit freundlichen Grüßen
Ralf Ehlers
 kontakt (ατ) wohnenundmehr.de         http://wohnenundmehr.de
  Hans Hirzer antwortet am 26.03.2016 19:12:07

Hallo Herr Ehlers,

vielen Dank für Ihren Hinweis. Mein Webshop ist noch nicht Online, sondern war in der Entstehungsphase. Daher gab es für den Webshop auch noch keine Internetadresse. Auf einen Tipp der Webshop-Autoren bin ich nicht zwingend angewiesen und muss auch nicht über jedes Gängelei-Stöckchen springen, das einem die Autoren hinhalten.

Im Xaran-Shop wird ein Programmierstil verwendet (Header-Weiterleitungen), der heute nicht mehr genutzt werden soll, um Sicherheitsprobleme auszuschließen. Dementsprechend müsste man wahrscheinlich den ganzen Shop strukturell ändern, um das zu beheben. Daher werde ich von diesem Shop-System auf mehrfaches Anraten hin Abstand nehmen.
 hirzer68 (ατ) web.de
  Thomas Görtler antwortet am 29.03.2016 13:23:30
Hallo Herr Hirzer,

die beschriebene Fehlermeldung sagt im Grunde nur aus, dass auf Ihrem Testsystem etwas schief gelaufen ist.

In dem Fall ist es keine "Gängelei" der Ihr Vorhaben erlegen ist, sondern schlicht und einfach ein Fehler, der so aus der "Ferne" nicht ohne Glaskugel erklärt werden kann. Die genannte Zeile im Skript ist für die Berechnung des Enbetrags zuständig, somit könnte es an den Artikelpreisen liegen oder auch an irgendeinem anderen Wert, der bei Ihrer Konstellation an Webserver, PHP Version und Testdomain irgendwie zustande kommt.

Das Problem könnte meiner Meinung sehr schnell geklärt werden, wenn Sie mir per Kontaktformular einfach ein paar Informationen zu Ihrem Testsystem zukommen lassen, eventuell auch mit Vorschau Ihres aktuellen Projekts. Das hat weder etwas mit "Programmierstil" noch mit "Headerweiterleitung" zu tun. Das sind schon zwei unterschiedliche paar Stiefel.

Wie dem auch sei, fakt ist: Ich helfe Ihnen gerne aber nur mit ein paar Informationen zum Testsystem.

Freundliche Grüße,
Thomas Görtler
 info (ατ) punktsoft.de         http://www.punktsoft.de
  Hans Hirzer antwortet am 31.03.2016 10:39:53
Sehr geehrter Herr Göttling,

vielen Dank für Ihren Beitrag, die unkonkreten Ausführungen überzeugen jedoch nicht. Die vorgegebene Konfiguration und die (neueste) PHP-Version des Providers sind durch den User nicht veränderbar. Daher muss die Software die Erfordernisse der jeweiligen Betriebsumgebung erfüllen. Und dies ist hier nicht der Fall. Die Ursache dieses Fehlers liegt darin, daß versucht wird, die Header-Informationen (hier: Weiterleitungen) zu bearbeiten, nachdem bereits die normale Ausgabe erfolgt ist. Dies ist eben ein Programmierstil, der den heutigen Sicherheitsaspekten nicht mehr hinreichend Rechnung trägt. Dass dieses Programmstrukturproblem eventuell leicht und schnell zu lösen sei, bezweifle ich. Aber Sie dürfen mich und andere gerne mit entsprechenden Fachhinweisen eines besseren belehren. Apropos "Gängelei": Der letzte Satz in Ihrem Beitrag ist Gängelei in Reinkultur und ist in einem Forum deplatziert.

Mit freundlichen Grüßen
Hans Hirzer
 hirzer68 (ατ) web.de
  Thomas Görtler antwortet am 31.03.2016 14:25:29
Sehr geehrter Herr Hirzer,

vielen Dank für Ihre Rückmeldung. Gerne formuliere ich meinen letzten Satz für Sie anders:

Ich kann Ihnen nur helfen wenn ich die genaueren Parameter Ihres Setups kenne. Die Konfigurationsmöglichkeiten der Webpakete/Server ist durchaus unterschiedlich, sodass sich kein pauschaler Lösungsanstz geben lässt.

Headerdaten oder in Ihrem Beispiel "Weiterleitungen" (falls diese denn überhaupt sein müssen) werden auf jeden Fall Serverseitig ausgeführt und es wird hierbei nicht auf Clientseite vertraut. Für Neues oder andere Wege eine HTTP Weiterleitung zu realisieren bin ich auf jeden Fall offen.

Freundliche Grüße,
Thomas Görtler

 info (ατ) punktsoft.de         http://www.punktsoft.de
  Thomas Görtler antwortet am 31.03.2016 14:47:18
Für die Technikinteressierten unter uns:

Ablauf -> Artikel wird in den Warenkorb gelegt:


1. Auf der jeweiligen Produkt(übersicht)seite wird der Button "bestellen" anklickt.

2. Ein HTML Formular mit einigen Informationen zum gewählten Artikel wird an die Vorlage: aktionen.php gesendet.

3. Diese wertet die Aktion aus und fügt den gewählten Artikel in den Warenkorb ein.

4. Dann wird entweder die aktuelle Seite neu angezeigt inkl. der Meldung, das ein Artikel im Warenkorb gelandet ist, oder alternativ auf eine, zuvor im Formular angegebene Adresse, weitergeleitet. Warum das Ganze? Das dient als eine Art "Reload" Sperre, sprich würde ein Kunde nur den Hinweis bekommen, ein Artikel wurde den Warenkorb gelegt und klickt dann auf den "Reload"-Button des Browsers, dann würde ggf. der gleiche Artikel erneut in den Warenkorb gelegt werden.


Im oben aufgeführten Fall wird die Fehlermeldung "Warning: Cannot modify header information - headers already sent" ... was darauf hindeutet, dass bereits Informationen zum Browser gesendet wurden, obwohl noch Header-Daten gesendet werden sollten.

Das ist z.B. durch einen Fehler im PHP Skript der Fall und kann je nach Servereinstellung dazu führen das wie oben eine "Warning"- oder "Error"- Meldung erscheint. In dem Moment wurde quasi schon etwas an den Browser gesendet obwohl danach noch Headerdaten versendet werden.

In dem Fall wäre zu klären, was genau schief läuft, sodass anzuzeigende Daten an den Browser geleitet werden die dann zu der genannten Fehlermeldung führen.

Wie gesagt kann das z.B. von einem Fehler im PHP Skript kommen oder weil der Server so eingestellt ist, generell alle Fehler und Warnungen an den Browser zu senden. Der eigentliche Fehler aber, der zu der oben genannten Meldung führt, wird hier nicht gezeigt und könnte z.B. durch fehlerhafte Dateneingabe in den Artikelstammdaten auftreten.

Debuggen liese sich das nur unter Kenntnis der Parameter -> Artikeldaten -> Serverkonfiguration etc. Eventuell würde die Zusendung der Shopdatendatei (XML-Datei) bereits Licht ins Dunkel bringen. Ansonsten gibt es hier einfach nur "könnte" und "eventuell" - Mutmaßungen.


"Sagt ein Kunde zu einem Mechaniker: Mein Fahrzeug springt nicht an. Woran liegt das. Sie dürfen aber nicht die Motorhaube öffnen und auch keinen Fehlerspeicher auslesen."
 info (ατ) punktsoft.de         http://www.punktsoft.de
  Hans Hirzer antwortet am 01.04.2016 13:04:45
Sehr geehrter Herr Görtler,

Ihre Analysefeststellungen in dem Beitrag an die Technikinteressierten sind soweit korrekt:

"Im oben aufgeführten Fall wird die Fehlermeldung "Warning: Cannot modify header information - headers already sent" ... was darauf hindeutet, dass bereits Informationen zum Browser gesendet wurden, obwohl noch Header-Daten gesendet werden sollten."

"Das ist z.B. durch einen Fehler im PHP Skript der Fall und kann je nach Servereinstellung dazu führen das wie oben eine "Warning"- oder "Error"- Meldung erscheint. In dem Moment wurde quasi schon etwas an den Browser gesendet obwohl danach noch Headerdaten versendet werden."

Ebenso ist auch korrekt, dass dies von einem Fehler im PHP Skript kommt. Die daraus zu ziehende Schlussfolgerung kann dann ja nur sein, die dem Webshop zugrundeliegenden PHP-Scripte entsprechend grundlegend zu überarbeiten und an mögliche Servereinstellungen, die höheren Sicherheitsaspekten Rechnung tragen, anzupassen.

Ihr Mechaniker-Geschichtchen ist recht amüsant, nur kenne ich es in etwas anderer Version. Der Kunde kommt in die Werkstatt und sagt: "Ich habe einen platten Reifen". Sagt der Meister: "Da muss ich erst mal ausgiebig unter die Motorhaube schauen". Meint der Kunde: "Aber nach dem Blick unter die Motorhaube ist doch der Reifen immer noch platt und das Auto fahruntüchtig".

Freundliche Grüße
Hans Hirzer
 hirzer68 (ατ) web.de

Beitrag 1
 
 

Alle Urheber- und Leistungsschutzrechte vorbehalten. © punkt Software Development 2012-2022
Dieses Angebot ist ausschließlich für Industrie, Handwerk, Handel, öffentliche Einrichtungen und die freien Berufe bestimmt
Diese Webseite wurde mit xaranshop® 5.0 erstellt
xaran® und xaranshop® sind eingetragene Markenzeichen