2011-08-28 92 views
1

我想创建一个使用电子邮件的用户通知系统。通过电子邮件的用户通知系统

在上下文中,员工(用户类型1)登录到我的系统并输入他们的时间表(他们工作的小时数)。我想要通知发送给他们的主管(也是'users'表(用户类型2)的成员,他们已经输入了信息并且它已准备好进行检查。)

目前我有一个表'users'存储这些信息为'id' (PRIMARY) AUTO INCREMENTING, 'first_name', 'last_name', 'email', 'user_type', etc

我知道如何在PHP中发送的电子邮件,和我有一个全功能的日志系统但它是这些通知,我不能与如何实现围绕让我的头。

我目前的代码不是面向对象的,因为它目前超出了我的技能水平。

我想要简单一点,它不一定非常完美。任何建议,非常感谢。

+1

你的任务是部署和使用这个系统,或者你的任务是从头开始发展呢?..如果你有兴趣前,比你寻找现成的解决方案在那里,其中包括开放源代码?.. – spacediver

+0

这是我自己的项目,我正在修改PHP和MySQL,我想从头开始尝试,因为这是我学到最好的方式。现成的解决方案对我而言似乎过于复杂,并且功能过多。我想要一些简单而简单的东西。这是否回答你的问题? – Mike

+0

好的,我明白了,谢谢:) – spacediver

回答

2

当员工成功输入时间表时,您是否无法获取用户列表,然后将所有电子邮件发送给他们?我猜测时间表是一个Web表单,所以当表单提交时只需触发一些代码。

例如:

<?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

我认为CRON在这个时候超出了我的技术水平,但是当我到达那里时我会看一看。目前,我认为我必须坚持在用户更新帐户时手动向主管人员发送电子邮件。 – Mike

0

到spacediver - 这些现成的系统中哪些是适合的在这种情况下?我们有相同的项目,但感觉现成的系统可能对我们更好。请解释!

里克