我喜欢自己学习和做事,但我遇到了一个我不知道如何解决的问题。
我正在尝试为公告系统编写一个 php 群发邮件,我可以通过一个按钮在管理页面中激活它。
这是当前脚本的样子。
function sendStreamAnnounce(){
global $database, $session, $mailer, $form;
$q = "SELECT username,email"
."FROM ".TBL_USERS."";
$result = $database->query($q);
$num_rows = mysql_numrows($result);
for($i=0; $i<$num_rows; $i++){
$email = mysql_result($result,$i,"email");
/* Attempt to send the email with new password */
if($mailer->sendStreamAnnounce($email))
$_SESSION['mailed'] = true;
else{
$_SESSION['forgotpass'] = false;
}
header("Location: ".$session->referrer);
}
}
目前的设置让我有了这个
我以某种方式从我正在使用的教程式后端附带的“我忘记了密码”的 php 脚本中改编了这个脚本。我意识到可能不需要像“$_SESSION”这样的东西。
欢迎任何帮助!我知道很多人不喜欢用勺子喂食,所以提示也会对我有很大帮助。
提前谢谢你们!
编辑:我自己修复了它/在 Arun 的帮助下!
function sendStreamNotice(){
global $database, $session, $mailer, $form;
$q = "SELECT username,email "
."FROM ".TBL_USERS."";
$result = $database->query($q);
$num_rows = mysql_num_rows($result);
if(!$result || ($num_rows < 0)){
echo "Error displaying info";
return;
}
if($num_rows == 0){
echo "Database table empty";
return;
}
for($i=0; $i<$num_rows; $i++){
$email = mysql_result($result,$i,"email");
$user = mysql_result($result,$i,"username");
/* Attempt to send the email with new password */
if($mailer->sendStreamNotice($user,$email))
$_SESSION['mailed'] = true;
else{
$_SESSION['forgotpass'] = false;
}
header("Location: ".$session->referrer);
}
}
邮件通过就好了!