Помогите написать маленький скрипт

4.02K
.

Scorpion, сами сообщения не дублируются?

.
Зелимхан

Str@nnik, сообщение дублируется, т.е. приходит 2 сообщения... а к-во вложений по разному бывает 2-3-4 вложений

.
Str@nnik

Scorpion, ну попробуй таким образом

+ (+/-)
<?php

$emails = file('base.txt');
$total = count($emails);

if (isset($_POST['submit'])) {
$subject = isset($_POST['subject']) ? trim(htmlspecialchars($_POST['subject'])) : null;
$text = isset($_POST['text']) ? trim(htmlspecialchars($_POST['text'])) : null;
if (empty($text) || empty($subject)) {
echo '<p>Заполните все поля! <a href="?">Назад</a></p>';
} else {
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'To: user <user@example.com>' . "\r\n";
$headers .= 'From: От кого <server@example.com>' . "\r\n";
for ($i = 0; $i < $total; ++$i) {
mail($emails[$i], $subject, $text, $headers);
}
echo '<p>Рассылка успешно завершена! <a href="?">К форме</a></p>';
}
} else {
echo '<form method="post">
<p>Тема рассылки:</p>
<input type="text" name="subject">
<p>Текст рассылки:</p>
<textarea name="text"></textarea><br>
<input type="submit" name="submit" value="Разослать">
</form>';

echo '<p>Всего email-получателей: ' . $total . '</p>';
}
.
Зелимхан

Str@nnik, Спасибо) попробую и отпишусь))

.
Ей 25

Str@nnik, почему for если есть foreach ? Цикл перебора массивов.

.

ValekS, Хз, с головы вылетело

.
# ValekS (12.11.2015 / 23:14)
Str@nnik, почему for если есть foreach ? Цикл перебора массивов.
Предположительно - чтобы оправдать вызов
$total = count($emails);

который требуется для вывода кол-ва
з.ы.шучу ежели что )
.

Str@nnik, Кстати, существует ещё и такой синтаксис

for ($i = 0, $total = count($emails); $i < $total; ++$i) {
    mail($emails[$i], $subject, $text, $headers);
}

Не путайте место написания count() - если написать в первом выражении условия(как показано выше), то count() вызовется только один раз.
.

ДоХтор, Знаю такое.

.
(\/)____o_O____(\/)

еще http://johncms.com/forum/index ... 03432

Всего: 104