Jump to content
xt:Commerce Community Forum

Mail dubletten


Karl43

Recommended Posts

Hallo,

wie sollte es heißen wenn man in der account_edit.php zum einen eMail-Dubletten vermeiden will (wenn Kunde neue eMail angibt) und zugleich bei einer einfachen Namensänderung oder Telefonnumereigabe, nach Klick auch "weiter" kein Fehler kommt (habe eMail verifizierung drin).

Außerdem sollte keiner durch Zufall die eMail vom Admin eintragen können.

Hier mal der Codeschnipsel der so in der account_edit nicht funktioniert. Einfach einbauen geht auch nicht (für den Bastler) sind noch weitere Änderungen nötig:

// E-Mail-Bestätigungsfeld  bei Anmeldung für xt:Commerce v3.04 (c) by Hetfield
if ($email_address != $confirm_email_address) {
$error = true;

$messageStack->add('account_edit', ENTRY_EMAIL_ERROR_NOT_MATCHING);
}
elseif (xtc_validate_email($email_address) == false) {
$error = true;

$messageStack->add('account_edit', 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);
}
}[/PHP]

Also für eine Hilfe wäre ich sehr dankbar.

PHP ist eindeutig nicht mein Ding!

Wenn ich die "0"

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

gegen eine "1" tausche wird nichts mehr blockiert, weder noch.

MFG

Karl

Link to comment
Share on other sites

Hallo Karl!

So ist es richtig:

// BOF - E-Mail-Bestätigungsfeld bei Accountänderung für xt:Commerce v3.04 (c) by Hetfield - www.MerZ-IT-SerVice.de
if (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {
$error = true;
$messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR);
} elseif ($email_address != $confirm_email_address) {
$error = true;
$messageStack->add('account_edit', ENTRY_EMAIL_ERROR_NOT_MATCHING);
} elseif (xtc_validate_email($email_address) == false) {
$error = true;
$messageStack->add('account_edit', 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' and customers_id != '".$_SESSION['customer_id']."'");
$check_email = xtc_db_fetch_array($check_email_query);
if ($check_email['total'] > 0) {
$error = true;
$messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
}
}
// EOF - E-Mail-Bestätigungsfeld bei Accountänderung für xt:Commerce v3.04 (c) by Hetfield - www.MerZ-IT-SerVice.de[/PHP]

MfG Hetfield :cool:

Link to comment
Share on other sites

Archived

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

×
  • Create New...