Nagh 0 Опубликовано 25 апреля, 2011 Жалоба Share Опубликовано 25 апреля, 2011 Тут пользователь случайно ошибся с email'ом, и я получил интересный эффект. Пользователь уже был зарегистрирован и забыл об этом, зарегистрировался заново, но в e-mail адресе опечатался. Увидел опечатку, зашел и поменял себе email адрес. Учитывая, что email - по сути логин. То совсем ахтунг. Но это еще пол беды. Поменял он успешно на тот же email, что регистрировал раньше. В итоге у меня два пользователя с одинаковым email'ом. Заходит как mysql на душу положит, обычно под первым зарегистрировавшимся. Предлагаю: а) - сделать поле email в базе UK b) - не давать менять пользователю email самостоятельно (это уже опционально, но, имхо, правильно) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 апреля, 2011 Жалоба Share Опубликовано 26 апреля, 2011 В /account_edit.php поменяйте: // if (vam_validate_email($email_address) == false) {// $error = true;// $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);// } else {// $check_email_query = vam_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".vam_db_input($email_address)."' and account_type = '0'");// $check_email = vam_db_fetch_array($check_email_query);// if ($check_email['total'] > 0) {// $error = true;//// $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);// }// }[/code] на: [code] if (vam_validate_email($email_address) == false) { $error = true; $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_CHECK_ERROR); } else { $check_email_query = vam_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".vam_db_input($email_address)."' and account_type = '0'"); $check_email = vam_db_fetch_array($check_email_query); if ($check_email['total'] > 0) { $error = true; $messageStack->add('account_edit', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS); } } Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения