Errors bleiben in Session bestehen

Hi,

ich bin derzeit ziemlich ratlos. Exceptions in der Anzeige werden immer und immer wieder wiederholt in der neuen Shopversion 4.7.4.
Bsp: versucht man sich einzuloggen mit falschen Benutzerangaben, erhält man den Fehler »Falsche E-Mail oder Passwort!«. Soweit alles gut. Läd man nun die Seite neu und schickt das Formular dabei erneut ab, erhält man zusätzlich(!) die gleiche Fehlermeldung immer und immer wieder.

Alles was wir getan haben, ist die Ausgabe der Fehler (das include message/errors.tpl) aus dem layout/page.tpl rauszunehmen und in die einzelnen Templates selbst einzugliedern. Ausserdem sammeln wir in diesem Template alle möglichen Fehlermeldungen, um ein universelles Template dafür zu haben. Diese Technik haben wir bereits in einer 4.5.1 universell am laufen.

Hat jemand einen guten Tipp für mich, warum die Fehler nicht mehr aus der Session gelöscht werden?

http://forum.oxid-esales.com/showthread.php?p=120021

Danke, den hatte ich nicht gefunden…

Bedanke dich nicht zu früh, eine Lösung gibt’s da wohl auch noch keine. Habe selbst das Problem in einem der Shops

Hm. Verdammt.

gibts da schon nen Bug dazu?

danke an Martin: https://bugs.oxid-esales.com/view.php?id=5106

Hmm, eigentlich sollte das beschriebene Verhalten seit 4.7.2 behoben sein: https://bugs.oxid-esales.com/view.php?id=4687
Falls es immer noch auftritt, brauchen wir mehr Details, wie man das reproduzieren kann: Wurde ein Update / Patch vorher durchgeführt? Wurden da die Templates übernommen? Benutzen diese Templates Widgets? Gibt es Module, die da evtl. reinfunken? Was wurde an den Standard-Azure-Templates verändert?
Im Demoshop kann ich es nämlich nicht nachvollziehen (=reproduzieren).

das sind verschiedene Dinge, der erste Bug ist nur beim Passwortfehler bei Private Sales

Ich kram jetzt immer weiter neue alte Threads raus und löse die Probleme mal :slight_smile:

In der Variable oxRegistry::getSession()->getVariable(‘Errors’); steckt der Fehler die ganze Zeit, nach der Anmeldung drin. Dies sollte man nach einem erfolgreichem Login wohl mal leeren.

Zum fixen muss (auch für doppelte Nachrichten)

Am Anfang der Funktion oxcmp_user::login_noredirect(); muss folgendes eingefügt werden (habe es über ein modul gelöst, mit der Vererbung von oxcmp_user):
$this->getSession()->deleteVariable(‘Errors’);

und wo genau ist Deine Lösung? :slight_smile: