操作time()函数以允许发送电子邮件

时间:2011-06-24 15:55:20

标签: php mysql html

我编写了一段代码,允许将电子邮件发送给所有未登录一段时间的用户。

HTML是:

<select name="criteria">
    <option value="14"<?php if("14" == $form->value("criteria")){ echo 'selected="selected"'; }?>>14 days</option>
    <option value="28"<?php if("28" == $form->value("criteria")){ echo 'selected="selected"'; }?>>28 days</option>
    <option value="90"<?php if("90" == $form->value("criteria")){ echo 'selected="selected"'; }?>>3 months</option>
    <option value="180"<?php if("180" == $form->value("criteria")){ echo 'selected="selected"'; }?>>6 months</option>
    <option value="365"<?php if("365" == $form->value("criteria")){ echo 'selected="selected"'; }?>>1 year</option>
</select>

然后在另一个文件中接收它,以下代码接管

$time = time() - ($criteria * 0 * 0 * 0);
$q = $admindb->getReminderCustomerEmail($time);

数据库查询如下:

function getReminderCustomerEmail($time){
    global $database;
    $q = "SELECT email, title, forename, surname FROM ".TBL_USERS." WHERE last_logged <= '$time'";
    return mysql_query($q, $database->myConnection());
}

我们的想法是,如果您选择14天,那么过去14天内未登录的所有用户都将被邮寄。

目前,这种情况并未发生,似乎只是向所有用户发送消息。

我认为错误必须在行

$time = time() - ($criteria * 0 * 0 * 0);

有什么想法吗?感谢

3 个答案:

答案 0 :(得分:2)

任意数 始终为零。

您是否正在寻找($criteria * 86400)(获得日期)然后从time()中减去 值?

您还可以使用strtotime

strtotime('-' + $criteria + ' day',time());

答案 1 :(得分:1)

不会一直从时间()中减去0吗? $ criteria乘以0 ...

答案 2 :(得分:1)

一个愚蠢的问题:1000 * 0 = ??

没错,它是0