malina95
Мастер
Дата регистрации:
15.07.2012 07:13:44
Сообщений: 208
Так вот, представьте ситуацию когда цикл работает, простые сообщения на мыло отправляет, но при этом в базе ничего не меняется.
Короче сам код:
<?php
require_once "config.php";
require_once "lib/functions.php";
connectDB();
$result_set = $mysqli->query("SELECT * FROM `$table_subscribe` WHERE `end` = '0' LIMIT 1" // Получаем 1 неоконченную рассылку
$last_subscribe = $result_set->fetch_assoc(); // Преобразуем result_set в массив
/* Если все рассылки уже отправлены, то смотрим: нет ли новых статей на сайте */
if ($result_set->num_rows == 0) {
$result_set = $mysqli->query("SELECT * FROM `$table_lesson` WHERE `id` > '".$last_subscribe["post_id"]."' LIMIT 1"
if ($result_set->num_rows == 0) exit; // Если ничего нового нет, то просто выходим
$post = $result_set->fetch_assoc(); // Получаем данные о новой статье
$mysqli->query("INSERT INTO `$table_subscribe` (`post_id`, `subscriber_id`, `end`) VALUES ('".$post["id"]."', '0', '0')" // Добавляем в очередь новую рассылку
exit; // Выходим, а через 10 минут данный скрипт будет снова запущен, и уже пойдёт непосредственно рассылка писем
}
$last_id = $last_subscribe["subscriber_id"]; // Получаем id подписчика, которому было отправлено письмо в последний раз
$result_set = $mysqli->query("SELECT * FROM `$table_subscribers` WHERE `id` > '".$last_id."'"
$count = 0;
while (($row = $result_set->fetch_assoc) !== false) {
$subscriber_id = $row['id'];
$subscriber_name = $row['name'];
$subscriber_email = $row['email'];
$subscriber_date = DateClass::make_date($row['date']);
$result_set_mail = $mysqli->query("SELECT * FROM `$table_lesson` WHERE `id` = '".$last_subscribe["post_id"]."'"
$post_mail = $result_set_mail->fetch_assoc(); // Получаем данные о новой статье
$subject = 'Новая статья на сайте Malinichev.ru';
$message = '
<h1 style = "text-shadow: 1px 0 4px green; color: silver; font-size: 110%;">Malinichev.ru</h1>
<p>Здравствуйте, <strong>'.$subscriber_name.'</strong>!</p>
<br />
<p>На сайте <a href = "http://malinichev.ru/">Malinichev.ru</a> появилась новая статья.</p>
<p>Чтобы <strong>ознакомиться</strong> с новой статьёй, пройдите по ссылке ниже:</p>
<p><a href = "'.$address.'lesson/'.$post_mail['url'].'.html"></a></p>
<br />
<p>С Уважением, Владислав Малиничев и сайт <a href = "http://malinichev.ru/">Malinichev.ru</a>!</p>
<br />
----------------------------------------------------------------------
<br />
<p>Если Вы не желаете больше получать уведомления о новых статьях, то Вы можете отписаться, пройдя по ссылке ниже:</p>
<p><a href = "ссылка">ссылка</a></p>
<p>Дата Вашей подписки: <b>'.$subscriber_date.'</b></p>
';
$headers = "From: Malinichev.ru <[email protected]>\r\nContent-type: text/html; charset=utf-8 \r\n";
mail ($subscriber_email, $subject, $message, $headers);
//mail ('[email protected]', 'Привет', 'Тестируем рассылку', 'From: Malinichev.ru <[email protected]>\r\nContent-type: text/html; charset = utf-8 \r\n');
/* Здесь код для отправки письма через функцию mail() */
$count++;
if ($count == 10) {
$mysqli->query("UPDATE `$table_subscribe` SET `subscriber_id` = '".$subscriber_id."' WHERE `id` = '".$last_id."'" // Обновляем информацию о последнем подписчике, которому было отправлено письмо
break; // Выходим после 10-ти отправлений
}
}
if ($result_set->num_rows <= 10)
$mysqli->query("UPDATE `$table_subscribe` SET `end` = '1' WHERE `id` = '".$last_id."'" // Всё отправлено
?>
Помогите плиз, я уже не знаю что делать. Уже всё попробовал...
В базе есть только одна запись, и ошибка мне кажется где то в скрипте, какая-то переменная сбивается...
Вот скрин записи:
А вот 4 действуюхщих мыла:
Помогите пожалуйста, я уже не знаю что делать, где искать ошибку... ХЕЛП