Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
coel 24.12.2009 07:25 / 24.12.2009 07:30
В базе для примера 10 писем. Скрипт должен отсылать 5 писем, потом включать META REFRESH на 61сек и после обновления страницы отсылать ещё 5 писем. Но проблемка в том, что после рефреша тег с рефрешем остаётся, а вместо выполнения скрипта стоит клавиша НАЧАТЬ ОТПРАВКУ, как с самого начала. Как исправить, чтобы работало?@header[] <head> ^connect[$connect-string]{ $tMsgBase[^table::sql{SELECT id, email, subj, msg FROM mspool WHERE sent=0 LIMIT 5 }] $iMsgCount[^int:sql{SELECT COUNT(*) FROM mspool }] } $bSentWait(^if(def $form:start && $iSentCount < $iMsgCount){1}{0}) ^if($bSentWait){ <meta http-equiv="Refresh" content="61" /> } <title>Рассылка писем</title> </head> @content[] <h2>Рассылка писем</h2> <form action="$request:uri" method="post"> ^if($bSentWait){ <input type="button" value="ЖДИТЕ" disabled="disabled" /> }{ <input type="submit" name="start" value="НАЧАТЬ ОТПРАВКУ" /> } </form> ^if($bSentWait){ ^connect[$connect-string]{ ^tMsgBase.menu{ ^mail:send[ $.from[noreply@dubophone.ru] $.to[$tMsgBase.email] $.subject[$tMsgBase.subj] $.text[$tMsgBase.msg Пожалуйста не отвечайте на это письмо, оно создано роботом!] ] ^void:sql{UPDATE mspool SET sent=1 WHERE id=$tMsgBase.id } $iSentCount[^int:sql{SELECT COUNT(*) FROM mspool WHERE sent=1 }] <p>Отправлено $iSentCount писем из $iMsgCount</p> }[<br />] <p>Время отправки: $date_now.hour:$date_now.minute:$date_now.second</p> <p>Ждите 61 секунд до отправки следующей партии писем.</p> } }