3. Ну типа берем сначала вытаскиваем данные с одной таблицы, потом по результату смотрим id, по нему вытаскиваем данные связанные со второй таблицы, затем смотрим новый результат и так же вытаскиваем с третьей. Получается в бд не будет строится огромная временная таблица из трех больших таблиц.
Ну сообщение типа "юзернейм уже используется" лучше стандартного HTTP 500. Тоесть делать предварительный запрос, перед тем как записывать в базу - это ок?
Без разницы. У меня на ссылке был атрибут target="_blank". Т.о. открывалась одна ссылка в новой вкладке, а другая - в том же окне. Для чистоты добавлю код в пост
Алексей Ярков: хочу прояснить. Т.е. вариант С все таки годится, но если показывать ссылку "отправить письмо еще раз", то нужно знать, кто кликнул вот эту ссылку, чтобы знать кому ее отправлять. Вот в чем вопрос. Я думал, можно формировать токен на бекенде и хранить его в сессии где-то. Как вариант
сообщение об ошибке не очень пригодное для разбора "E11000 duplicate key error index: app.users.$email_1 dup key: { : "em@em.com" }". Ну я могу посмотреть код - 11000, который, как я понял, означает проблему уникального поля, но какое именно поле? На ум приходит только разбор строки по регулярному выражению о_О