Jump to content
xt:Commerce Community Forum

Kunde konnte sich anmelden ohne die Pflichtfelder auszufüllen


Recommended Posts

so, jetzt habe ich es auch geschafft.

Mit Firefox 2.0.0.16 auf dem Mac geht es, dass ich im oberen Block nur die eMail eintrage.

1.) Menüpunkt zum Kundenkonto öffnen aufrufen

2.) irgend eine eMail eingeben

3.) Bei "Ihre Adresse", Telefonnummer, Passwort eingeben die Pflichtfelder ausfüllen. und Weiter drücken.

Dann ist der Account angelegt.

Jetzt existiert ein Kundenkonto ohne Anrede, Vorname, Nachname und Geburtsdatum.

Ist wohl ein Bug. Mit Safari geht das nicht, da kommt ein Popup, dass die Daten nicht richtig sind.

Link to comment
Share on other sites

Guten Tag, entschuldigt dass ich hier so reinplatze mit was völlig anderem.

Ich möchte gern ein neues Thema erstellen, jedoch gibt es nirgens hier im Forum ein Button dafür.

Darf ich wissen wie Ihr es macht?

Die Hilfe ist ist leider nicht in der Lage auskunft hier zu geben, es sei denn es müssen nur intern bekannte suchbegriffe eingegeben werden die ein User der ja nur 98 euro im Jahr löhnt nicht wissen darf.

Ich habe ziemliche probleme, kann aber im forum nicht darüber finden weil auch da das suchenformuar scheinbar die deutsche Sprache nicht beherscht.

Es wäre schön wenn es hier jemanden gibt der dieses interne wissen einem user weitergeben kann damit er im Forum nicht irgendwo irgendwelche texte verfassen muss, die mit dem Thema dort nichts zu tun haben.

Vielen Dank

Link to comment
Share on other sites

@ Lederpeter

Also deine Frage passt hier nun wirklich nicht rein. Aber trotzdem kurzer Hinweis: Unterkategorie auswählen und dann oben links auf "Neues Thema"

Jetzt aber noch einmal zu meiner Frage. Kennt sich einer mit dem Code aus?

Wo muss ich das was anpassen, damit sich keiner ohne Namen und Geburtsdatum anmeldet?

Es scheint ja nun ein Bug und abhängig vom Browser zu sein und hat nichts mit der Konfiguration im Shop zu tun.

Link to comment
Share on other sites

  • 2 weeks later...

Hallo zusammen.

Ich habe das gleiche Problem; bei mir fehlten aber Geburtstag und Telefonnummer, konnte den Fehler bei der Anmeldung nicht reproduzieren und war etwas verwirrt. Scheint ja dann am Browser zu liegen!

Aber darüber hinaus kann ich in meinem FF3 unter dem Punkt "Kontodaten bearbeiten" _gelegentlich_ mein Geburtsdatum einfach löschen und die Daten speichern.

Das ist definitiv ein Bug...

Link to comment
Share on other sites

Ok, ich meine die Lösung gefunden zu haben:

In den Dateien account_edit.php und in create_account.php gibt es die folgenden Zeilen:

========================ALT ANFANG===============

$error = $vatID->vat_info['error'];

if($error==1){

$messageStack->add('account_edit', ENTRY_VAT_ERROR);

$error = true;

}

========================ALT ENDE=================

Das führt dazu, dass alle vorherigen Validierungen übergangen werden, wenn dieser VAT-Rate Fehler nicht auftritt, da $error bis ^^dahin eigentlich noch den Wert der vorherigen Validierungen enthielt, aber auf einmal überschrieben wird. Es blieb also noch die Javascript-Validierung, die wohl nicht mit jedem Browser kompatibel ist...

========================NEU ANFANG===============

if($vatID->vat_info['error']==1) {

$error = true;

$messageStack->add('account_edit', ENTRY_VAT_ERROR);

}

========================NEU ENDE=================

"worksforme"

Schönen Gruß

Link to comment
Share on other sites

gut, ich dachte schon ich wäre der Einzige der das Problem hat.

Ich bin jetzt leider kein PHP Spezi um genau zu verstehen was da anders läuft, werde das aber auf meinem Testsystem probieren.

Da sich der Bug mit meiner Firefox 2.0er Version (Mac) jederzeit nachstellen lässt, sollte ich dann ein Ergebnis erhalten. Komme leider vor dem Wochenende nicht dazu.

Link to comment
Share on other sites

  • 2 months later...

Mal abgesehen davon, das man nach bestätiger Validierung wieder Felder ändern kann. Habe ich mal eine kurze Frage...

Ich habe in meiner create_account.php alle möglichen Eingabefehler abgegriffen, die aber logischerweise vom PHP erfasst werden. Achso wenn bei mir im Geburtsdatum das hier z.B. eingibt "Geburtsdatum (tt.mm.jjjj)", kommt eine böse Fehlermeldung die ich schon bei vielen Shops gesehen und getestet habe. Ihr könnt selbst den Test bei euch machen! Mann weiß ja nie was Kunde so versucht einzugeben! Deshalb würde ich gern noch vorher per Javascript validieren...

Mit ist aber aufgefallen das Firefox gleich korrekt die PHP Errors nach Klick auf bestätigen anzeigt. Aber der Explorer bringt ein Popup Fenster mit nur Angabe von nur 3 Pflichtfeldern, wenn man die ausgefüllt hat kommt dann erst die PHP Überprüfung.

Ich habe keine Ahnung wo das mit dem Popup Fenster in XTC eingebunden ist und warum Jenes auch nur im Explorer erscheint? Ich würde gern die Pflichtfelder vom Popup ändern. Da die Seite nicht neugeladen wird, vermute ich eine Javascript Überprüfung. Aber ich finde leider nix.

Weiß da Jemand mehr drüber oder hat das schonmal gemacht bzw. geändert?

Link to comment
Share on other sites

  • 2 weeks later...

Anscheinend scheint hier Niemand dieses Problem zu betreffen? Schade...

Habe jetzt gemerkt das die Pflichtfelder bei account_edit.php auch nicht zuverlässig sind, da überprüft er die kompletten Kundendaten nur wenn keine E-Mail drin steht. Das heißt lösch ich alles bis auf die E-Mail speichert er die Kundendaten ohne Fehlermeldung so ab und das geh natürlich nicht?!

Habe das im Demoshop bei xt-commerce.com auch getestet und da war das genauso!

Hat das schon Jemand von euch gelöst?

Link to comment
Share on other sites

Also meine create_account.php funktioniert mit den php Überprüfungen wunderbar. Ist fast original Code, hab nur ne ab 18 Überprüfung geändert. Und weil ich anstatt einer Beschreibung für die Textfelder, gleich die Beschreibung als value im Textfeld anzeige. Mußte ich die values überprüfen, damit er die Beschreibung nicht als ok für MIN_LENGTH akzeptiert.

Ich bin aber bei die Javascript Validierung verlässlich umzubauen.

Was mir noch auffällt das in create_account.php keine Überprüfung stattfindet, ob die E-Mail Adresse schon existiert. Ist ja okay, weil er seine Eigene sonst nicht behalten könnte wenn sie nicht geändert wird. ABER so kann er sie jederzeit in eine Andere umändern die vielleicht schon vergeben ist. Es wäre natürlich Zufall wenn Leute die Gleiche hätten, jedoch könnte man so für Verwirrung und Schaden sorgen - absichtlich in die von Jemand anders ändern.

Link to comment
Share on other sites

Hallo,

hier wurde ja schon bzgl. Problemen mit dem Firefox Browser von Mozilla diskutiert...

Ich habe mit dem xt-Commerce Shop folgendes Problem:

WEnn ein Kunde im Shop als Gast bestellt, dann kann er im Firefox eine

Bestellung ohne die Eingabe der E-Mail Adresse abschicken.

Der Gastbesteller bekommt dann einen Mail Error im Browser angezeigt,

da ja die E-mail mit der Bestellbestätigung nicht versendet werden konnte.

(Ergo bekommt der Kunde auch keine Infos bzgl. der Zahlung bei Vorauskasse!)

Im Internet-Explorer kommt bei fehlender E-mail Adresse eine erneute Abfrage!

Und die Bestellung kann ohne Eingabe nicht fortgesetzt werden.

Wie ist es möglich, das der Firefox an dieser Stelle anders reagiert als der IE?

Ist das ein Bug??

Wie lässt sich das Problem beheben??

Hat jemand eine Lösung??

Link to comment
Share on other sites

Da kommt also der Nächste mit dem Problem...

Ähm weiß aber ne Lösung für dich. Beim Gastaccount ist keine php Überprüfung für die E-Mail Adresse drin. Einfach das in der Datei create_account_guest.php ergänzen. Am besten vor diese Zeile

if (is_numeric($country) == false) {....

if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {

		$error = true;


		$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);

	}

	elseif (xtc_validate_email($email_address) == false) {

		$error = true;


		$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);

	} else {

		$check_email_query = xtc_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($email_address)."' and account_type = '0'");

		$check_email = xtc_db_fetch_array($check_email_query);

		if ($check_email['total'] > 0) {

			$error = true;


			$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);

		}

	}

Läuft bei mir so ohne Probleme

Link to comment
Share on other sites

  • 4 months later...

--> EG@YHD

Hi,

ohje, diese Überprüfung sollte man AUF KEINEN FALL so einbauen! Denn offenbar wird da ja auch geprüft ob die E-Mail-Adresse schon existiert und das darf Sie ja definitiv bei Gastbestellern! Alternativ müsste man im Admin einstellen, das Gastkonten direkt gelöscht werden sollen. Dann kann man allerdings bei Nachfragen nach Bestellungen nicht mehr über den Kundennamen auf die Bestellung schließen...

Link to comment
Share on other sites

...Achso wenn bei mir im Geburtsdatum das hier z.B. eingibt "Geburtsdatum (tt.mm.jjjj)", kommt eine böse Fehlermeldung die ich schon bei vielen Shops gesehen und getestet habe. ...

Hallo nochmal,

die folgende Fehlermeldung erscheint IMMER wenn man Buchstaben ins Feld für das Geburtsdatum eingibt! Weiß hier jemand eine lösung?

Warning: checkdate() expects parameter 1 to be long, string given in /account_edit.php on line 70

bzw.

Warning: checkdate() expects parameter 1 to be long, string given in /create_account.php on line 104

Link to comment
Share on other sites

Ich hab es mir zwar nicht genau angesehen aber in PHP würde ich die Datumsüberprüfung so angehen:

statt:

if (ACCOUNT_DOB == 'true') {
if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
$error = true;
$messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
}
}[/PHP]

würde ich:

[PHP]if (ACCOUNT_DOB == 'true') {
if(!(preg_match("/[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{2,4}/", $dob))) {
$error = true;
$messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
}
elseif (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false) {
$error = true;
$messageStack->add('account_edit', ENTRY_DATE_OF_BIRTH_ERROR);
}
}[/PHP]

Dadurch wird zunächst überprüft, ob auch wirklich nur Zahlen vorkommen und im nächsten Schritt dann erst checkdate angewandt.

ACHTUNG: Sollte erst noch jemand mal antesten, da ich das ins blaue hinein geschrieben habe, da ich momentan hier keinen Testaccount greifbar habe ;)

Vielleicht kann Sigma mal testen obs läuft?

EDIT: Veränderungen beziehen sich auf die Datei account_edit.php

Link to comment
Share on other sites

Also bei mir im Testshop funktioniert das hervorragend auf der account_edit.php.

Gleiche Änderungen auf der create_account.php führen dazu, dass zwar einerseits keine Fehlermeldung erscheint, allerdings wird das Geburtstagsfeld ohne Inhalt an die Datenbank übergeben.

Hat das sonst noch jemand schon getestet?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...