我喜欢自己学习和做事,但是我遇到了一个我不知道如何修理的泡菜。
我正在尝试为公告系统编写一个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);
}
}
电子邮件通过就好了!
答案 0 :(得分:0)
使用$num_rows = mysql_num_rows($result);
代替mysql_numrows($result);