GX-Bug #42593
geschlossenKunderegistrierung: Umlaute im Lokalteil von Emailadressen werfen einen Fehler mit Checkout Abbruch
100%
Beschreibung
Wenn ein Kudne während der Registrierung im Checkout einen Umlaut oder ein ß in die Mailadresse eingibt und weiter klickt bekommt er einen ungefangenen Fehler auf den Schirm und kommt nicht weiter
FATAL ERROR(1): "Uncaught exception 'UnexpectedValueException' with message '$p_email is not a valid e-mail address' in /var/www/web1/html/gambio-shop.de/shop1/GXEngine/Classes/CoreServices/CustomerValueObjects/CustomerEmail.inc.php:53 Stack trace: #0 /var/www/web1/html/gambio-shop.de/shop1/system/core/MainFactory.inc.php(289) : eval()'d code(1): CustomerEmail->__construct('te??t@test.de') #1 /var/www/web1/html/gambio-shop.de/shop1/system/core/MainFactory.inc.php(289): eval() #2 /var/www/web1/html/gambio-shop.de/shop1/system/core/MainFactory.inc.php(190): MainFactory::create_object('CustomerEmail', Array) #3 /var/www/web1/html/gambio-shop.de/shop1/GXEngine/Classes/CoreServices/Customers/CustomerInputValidator.inc.php(311): MainFactory::create('CustomerEmail', 'te??t@test.de') #4 /var/www/web1/html/gambio-shop.de/shop1/GXEngine/Classes/CoreServices/Customers/CustomerInputValidator.inc.php(272): CustomerInputValidator->validateEmailExists('te??t@test.de') #5 /var/www/web1/html/gambio-shop.de/shop1/GXEngine/Classes/CoreServices/"
Checkliste 0/0
Zugehörige Tickets
Von Tobias Schindler vor fast 10 Jahren aktualisiert
- Status wurde von In Prüfung zu Anerkannt geändert
Die PHP-interne Funktion "filter_vars()" akzeptiert keine Umlaute oder Sonderzeichen (wie ß) im Local-Part der E-Mail Adresse. Deshalb wird eine Exception geworden. Man muss sich jetzt überlegen, ob die Exception gefangen werden soll und man eine sinnvolle Fehlermeldung anzeigt (z.B. invalide E-Mail Adresse) oder, wenn man E-Mail Adressen mit solchen Umlauten + Sonderzeichen als valide anerkennt, einen Ersatz für die Funktion "filter_vars()" schaffen.
Die Überprüfung findet im Konstruktor der Klasse CustomerEmail, in Zeile 51 statt.
Von Daniel Wu vor mehr als 9 Jahren aktualisiert
- Status wurde von Gemeldet zu In Prüfung geändert
- Zugewiesen an wurde auf Tobias Schindler gesetzt
Lösung: Exception beim Anlegen einer Emailadresse mit Umlauten, sollte abgefangen und benutzerfreundlich gehandlet werden.