如何在PHP脚本中轮换不同的用户

时间:2011-05-26 14:46:40

标签: php sorting

好的,所以我有这个问题,我正在努力解决。我有5个用户需要一个接一个地发送电子邮件。因此,如果我刚刚向John发送了一封电子邮件,那么下次调用脚本时我需要向Joe发送一封电子邮件

John
Joe
Ashley
Brandon
Bill

我想解决的问题是,我如何知道下一个要发送给谁的人。我要求我采取表单字段并创建.txt。文件在Leads目录中。这部分并不难,但我怎么知道下一个用户。我在想某种计数器,但我真的不知道最好的方法是什么......

4 个答案:

答案 0 :(得分:2)

所以你有一个发送电子邮件的脚本。有一个HTML表单,用户填写该表单以提交以使用该脚本。

从一个提交到另一个提交没有任何关系,所以你必须建立关系以进行循环。

换句话说,在后端,数据库或平面文件(文本文件)的某个位置,您必须标记上次通过电子邮件发送的人。

这有意义吗?

答案 1 :(得分:1)

为什么不只是查询数据库(获取列表)并遍历用户通过电子邮件发送到?

类似的东西:

$users = array('john' => 'john@email.com', 'Joe' => 'joe@email.com');

foreach($users as $name => $email){
  email_user($name, $email, $subject, $message); 
    // email_user is just a made up email function.
}

答案 2 :(得分:1)

如果您将所有信息放在.txt文件中,您可以在用户名后面添加“| sent”之类的内容。这样你就可以(在使用explode()之后)查看哪个用户已收到邮件。

另外,如果您告诉我们更多关于您实际尝试做什么的事情,我们可以提供更好的答案。

答案 3 :(得分:1)

您需要在某种类型的持久存储(如数据库或文件)中存储下一个用户的数据。

使用文件:

$users = array( "John", "Joe", "Ashley", "Brandon", "Bill" );

$next_user_index = file_get_contents( "next-user" );

$user_to_send_to = $users[ $next_user_index ];

file_put_contents( "next-user", ( $user_to_send_to + 1 ) % count( $users ) );