Автор Тема: Проблема с реализацией фичи  (Прочитано 6271 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« : 03 Марта 2004, 10:36:33 »
Привет! Хочу сделать на сайте 1 фичу – отправка поздравительных писем ко дню рождения пользователей из базы MySQL. Я составил для этого код:

$tmp=mysql_query("SELECT id, fname, gender, email, password, birthday FROM ".C_MYSQL_MEMBERS." WHERE MONTH(birthday)=MONTH(NOW()) AND DAYOFMONTH(birthday)=DAYOFMONTH(NOW()) AND status >= \'7\' order by birthday ASC");
$i=mysql_fetch_array($tmp);
      $tm=array(C_URL);
      $subject=template($w[401],$tm);
      $tm=array($id,$i[\'password\'],C_URL,fname);
      $message=template($w[402],$tm);
      sendmail(C_FROMM,$i[\'email\'],$subject,$message,\'text\');
?>

и поместил его в index.php . Письма отправляются, но не 1 раз, а всякий раз, при открытии файла index.php . Можно сделать php файл, чтобы работал без его открытия в браузере? И как сделать, чтобы письмо отправлялось только 1 раз?

С уважением, Александр

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Проблема с реализацией фичи
« Ответ #1 : 03 Марта 2004, 10:38:05 »
использовать запуск по расписанию средствами ОС
для *nix - cron
для NT - планировщик заданий (назначенные задания)
ну, будем исповедоваться?

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #2 : 03 Марта 2004, 10:45:44 »
Если бы я ещё знал, как это сделать, было бы совсем отлично. Хостинг на Linux. С файлами сайта для этого ничего нельзя сделать?

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Проблема с реализацией фичи
« Ответ #3 : 03 Марта 2004, 11:14:20 »
можно еще фиксировать в файлике какомнить, что сегодня письма отправлялись

[off]за кросспостинг можно бан схлопотать[/off]
ну, будем исповедоваться?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Проблема с реализацией фичи
« Ответ #4 : 03 Марта 2004, 12:44:14 »
alexander70
напиши хостеру, узнай есть ли у тебя доступ к cron и как к нему получить доступ.
На нормальных хостингах с этим проблем обычно не бывает
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #5 : 03 Марта 2004, 12:56:26 »
Цитировать
можно еще фиксировать в файлике какомнить, что сегодня письма отправлялись

А можно и в самой таблице, писать время отправки.

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #6 : 03 Марта 2004, 15:10:25 »
Спасибо, попробую с cron разобраться. Если будут ещё мысли по этому поводу, пишите.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #7 : 03 Марта 2004, 16:18:24 »
куда тебе еще-то?
этих мало?

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #8 : 03 Марта 2004, 20:31:24 »
К сожалению, крон для меня недоступен, надо что-то другое придумать. Если кто знает, как это можно сделать иначе, типа добавить признак в MySQL, что письмо уже отправлено, буду благодарен.

Оффлайн it4all

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.it4all.h10.ru
Проблема с реализацией фичи
« Ответ #9 : 03 Марта 2004, 22:16:39 »
Ну раз все молчат -(казнить нельзя,помиловать)
Цитировать
alexander70:
типа добавить признак в MySQL, что письмо уже отправлено
ты практически сам себе и ответил.
В качестве признака добавь столбец к таблице и после отправки заноси туда че-ть,хотябы время,как Ромик советовал.А перед отправкой проверяй есть в столбце значение или нет.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #10 : 03 Марта 2004, 22:57:05 »
не есть или нет, конечно, а сравнивать время отметки, текущее, и время дня рождения в этом году

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #11 : 03 Марта 2004, 23:08:14 »
Понятно, но кто-нибудь шарит в MySQL, чтобы написать конкретный код, как это сделать? Я не очень шарю, написал код по аналогии. Функция для дня рождения уже была готовая, показывала именинников, а я уже добавил sendmail

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #12 : 04 Марта 2004, 10:19:51 »
alexander70 скажи, ты хочешь научиться программировать на PHP? Чесно скажи! Если да, то напиши сам. Тебе дали уже всю нужную для этого информацию. Если не "шаришь" то прошарся. Если учиться не хочешь, то вообще непонятно зачем ты сюда пришел.

Оффлайн alexander70

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с реализацией фичи
« Ответ #13 : 04 Марта 2004, 11:00:41 »
Всё нормально, разберусь, спасибо за помощь.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28