| Новости | 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>
}
}