Система уведомлений пользователей по электронной почте - PullRequest
1 голос
/ 28 августа 2011

Я хотел бы создать систему уведомлений пользователей, используя электронную почту.

В этом контексте сотрудники (тип пользователя 1) могут войти в мою систему и ввести свое расписание (часы работы).Я хотел бы, чтобы их руководителям (также являющимся членами таблицы 'users' (тип пользователя 2)) было отправлено уведомление о том, что они ввели информацию, и она готова к проверке.

В настоящее время у меня есть база данныхс таблицей 'users', в которой хранится такая информация, как 'id' (PRIMARY) AUTO INCREMENTING, 'first_name', 'last_name', 'email', 'user_type', etc.

. Я знаю, как отправлять электронные письма на PHP, и у меня есть полнофункциональная система входа в систему, но я не могу получить эти уведомления.вокруг с тем, как реализовать.

Мой текущий код не является объектно-ориентированным, поскольку в настоящее время он находится за пределами моего уровня квалификации.

Я хотел бы что-то простое, это не должно бытьидеально. Любые предложения с благодарностью.

Ответы [ 2 ]

2 голосов
/ 28 августа 2011

Когда сотрудник успешно вводит расписание, вы не можете получить список пользователей, а затем отправить им все по электронной почте?Я предполагаю, что расписание - это веб-форма, поэтому просто вызовите некоторый код, когда форма будет отправлена.

Например:

<?php
    foreach($supervisor_user as $su) {
        mail(...);
    }
?>

Однако, что может быть лучше , периодически проверять (используя cronjob) новые расписания, а затем отправлять по электронной почте всем руководителям о любых новых расписаниях.

Я не буду писатьполный PHP для этого, это скорее набросок псевдокода:

<?php

    $last_check = /* Fetch the time we last checked for timesheets */
    $new_timesheets = /* Fetch all timesheets submitted after this time */

    /* Construct the e-mail message */
    $message = "Hello, here are the new timesheets. \n";
    foreach($new_timesheets as $ts) {
        $message .= "* $ts \n";
    }

    /* Send a message to all supervisors */
    $supervisors = /* Fetch e-mails of all supervisors */
    foreach($supervisors as $s) {
        mail(...);
    }

    /* Finally, store the time we last checked for timesheets
       so that we can use this on the next run. */

?>

Затем вы можете настроить его запуск каждый день, что означает, что супервизоры будут получать одно сводное электронное письмо каждый день, а не подвергаться бомбардировкеадрес электронной почты для каждого представленного расписания.

0 голосов
/ 01 июня 2012

в космос - какие из этих готовых систем подойдут в этом случае? У нас такой же проект, но мы считаем, что готовая система может быть лучше для нас. Пожалуйста, объясните!

Rick

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...