![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Risyaalex |
|
|||
![]() Все идет по плану... ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.7.2010 Репутация: нет Всего: нет |
Подскажите пожалуйста, у меня есть скрипт рассылки, все работает.
Попробую правильно описать что мне с ним нужно сделать: Мне необходимо сделать, чтобы когда новый пользователь зарегистрировался на сайте ему отправлялись прошлые существующие рассылки, с периодичностью раз в день пока не закончатся существующие рассылки. Допустим крон раз в день запускает скрипт, который проверяет наличие новых пользователей и отправляет им самую старую рассылку, на следующий день - то же самое, только новым зарегистрированным он отправляет самую старую рассылку, а тем кому она отправлялась вчера, отсылатеся следующая, и так пока не закончатся рассылки (пока новый пользователь не сравняется по количеству рассылок со старыми). не могу понять как правильно составить такой цикл... |
|||
|
||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
Вам же ещё нужно будет запоминать, какому пользователю что отправлять. Ещё надо решить, что отправлять новому пользователю .если в этот же день нужно отправить новое письмо.
Составьте таблицу, в которую будете заносить пользователя и последнее отправленное письмо. И голову ломать не придётся. А вообще, стоит подумать, многие ли пользователи будут рады ежедневно получать от вас застарелые рассылки. Возможно лучше просто дать возможность скачать это дело в виде архива. -------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| Risyaalex |
|
|||
![]() Все идет по плану... ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.7.2010 Репутация: нет Всего: нет |
про таблицу надо поразмыслить, не пойму - как рассылки отосланные там отмечать?
может для каждой рассылки надо создавать таблицу с данными - кому рассылка отправлена что ли... архивом не подойдет,надо именно чтоб отсылались, данные там актуальны всегда)) |
|||
|
||||
| ayax2005 |
|
|||
|
echo $smile ![]() ![]() Профиль Группа: Участник Сообщений: 516 Регистрация: 17.4.2008 Где: Питер Репутация: 2 Всего: 11 |
Если допустить мысль, что рассылки или ссылки на них хранятся в БД, достаточно одной таблицы, в которую бы сохранялся id или дата рассылки, отосланной в последний раз заданному пользователю. Если поле не заполнено - отправлять самую древнюю.
Для каждой рассылки заполнять отдельную таблицу, конечно, не стоит. -------------------- все вопросы - из-за неверной формулировки задачи |
|||
|
||||
| Risyaalex |
|
|||
![]() Все идет по плану... ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.7.2010 Репутация: нет Всего: нет |
скрипт написала, тестировала в денвер все работало отлично, выложила на хостинг, поставила крон на запуск скрипта раз в день - 2 дня все работало отлично, на 3й пришла рассылка но не пришел отчет крона, на 4й - вообще ничего не отправилось и крон не отчитался...
что это может быть? |
|||
|
||||
| Risyaalex |
|
|||
![]() Все идет по плану... ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.7.2010 Репутация: нет Всего: нет |
Здесь из таблицы с рассылками вытягивается id рассылки, затем в цикле проверяется если эта рассылка отправлялась уже пользователю, она уже ему не отправляется, а отправляется следующая (например 2 пользователя, 1й уже получил 1ю рассылку, ему отправлется 2я; а второму одновременно отправляется 1я рассылка) в денвере тестирую - все отлично срабатывает. только что вручную запустила этот самый скрипт который крон не запустил сегодня - и каждому пользователю отправились скопом все неполученные до сих пор рассылки!
Вот цикл который должен срабатывать при запуске кроном, может что то здесь намудрила?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Это как это? Если рассылка довольно насыщенная и успешно живет годами, то новому юзеру сразу будет сформировано толстое-толстое письмо с таким объемом, что его прибьют все спаморезалки, по дороге, а сам юзер, если и получит таки, испугается и с криком убежит из рассылки?
Или, к примеру, из-за каких-то сложностей, старый юзер решил завести новый аккаунт в рассылке (старый удалить). Теперь ему придется получить весь архив по новой? Надо бы досылать недостающие материалы по просьбе самого юзера. А автоматический рассыл старых выпусков - это просто спам. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Risyaalex |
|
|||
![]() Все идет по плану... ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 22.7.2010 Репутация: нет Всего: нет |
толстое - толстое письмо не формируется. одна рассылка - одно письмо (рассылки с обучающими сказками для детей, у них срока давности нету =) ), отправляется новому пользователю каждый день по одной старой рассылке, до тех пор пока он не получит их все... а дальше - нововыпущенные рассылки будет получать вместе со всеми |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |