Buenos dias, estimados amigos.
Tengo un problema con la aplicacion OSCOMMERCE.
Radica en el momento que deseo recuperar mi contraseña. Es decir, cuando le doy al enlace de "recordar contraseña" el sistema me envia un e-mail, en el que me dice mi nueva contraseña. Pero el problema es que me lo envia por duplicado, yo solo pulso una vez sobre el formulario que me pide mi direccion de correo y cuado reviso mi e-mail, veo que me lo ha enviado por duplicado. He revisado el codigo, y el envio solo se hace una vez, aqui os pongo como lo hace.
Código PHP:
if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'process')) {
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email_address']);
$check_customer_query = tep_db_query("select customers_firstname, customers_lastname, customers_password, customers_id from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($email_address) . "'");
if (tep_db_num_rows($check_customer_query)) {
$check_customer = tep_db_fetch_array($check_customer_query);
$new_password = tep_create_random_value(ENTRY_PASSWORD_MIN_LENGTH);
$crypted_password = tep_encrypt_password($new_password);
tep_db_query("update " . TABLE_CUSTOMERS . " set customers_password = '" . tep_db_input($crypted_password) . "' where customers_id = '" . (int)$check_customer['customers_id'] . "'");
tep_mail($check_customer['customers_firstname'] . ' ' . $check_customer['customers_lastname'], $email_address, EMAIL_PASSWORD_REMINDER_SUBJECT, sprintf(EMAIL_PASSWORD_REMINDER_BODY, $new_password), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
$messageStack->add_session('login', SUCCESS_PASSWORD_SENT, 'success');
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
} else {
$messageStack->add('password_forgotten', TEXT_NO_EMAIL_ADDRESS_FOUND);
}
}
No se porque puede ser esto. Espero puedan ayudarme. Reciban un saludo y gracias de antemano.