我有这个脚本,我试图在网站的管理员删除他们的帐户时向用户发送电子邮件。
我目前正在通过用户三个文件执行此操作:adminprocess,session和mailer。
当管理员提交要删除的用户名时,操作将在adminprocess中进行。 php,然后adminprocess.php调用会话的函数(sendUserdeleted())。 sendUserdeleted(0引用了邮件程序的类对象和函数。
为了更好地理解,我已经附上了下面的代码来完成这项工作。
1 Adminprocess.php
while($row = mysql_fetch_array($rel))
{
$email = $row['email'];
$name = $row['name'];
}
$session->sendUserdeleted($name,$email);
header("Location: ".$session->referrer);
2 session.php
function sendUserdeleted($name,$email)
{
global $database, $form, $mailer; //The database, form and mailer object<br/>
$mailer->senddeleted($name,$email);
return 0; //New user added succesfully
}
3 Mailer.php
class Mailer
{
function senddeleted($name,$email)
{
$from = "From: ".EMAIL_FROM_NAME." <".EMAIL_FROM_ADDR.">";
$subject = "Lab Scheduler - Account deleted!";
$body = $name.",\n\n"."Your account from our system has been deleted"<br/>
return mail($email,$subject,$body,$from);
}
};
/* Initialize mailer object */
$mailer = new Mailer;
?>
我不明白为什么我无法发送邮件。每当我选择要删除的用户并提交值时,我都会收到以下错误:
致命错误:调用未定义的方法Mailer :: senddeleted()in 第408行的D:\ Hosting \ 9769324 \ html \ lab \ include \ session.php
这就是邮件没有被发送的方式。虽然,我的用户被删除没有任何问题。
非常感谢任何帮助。
答案 0 :(得分:1)
/* Initialize mailer object */
$mailer = new Mailer;
这应该在你的session.php
中答案 1 :(得分:0)
require_once('Mailer.php');
function sendUserdeleted($name,$email){
global $database, $form; //The database, form and mailer object
$mailer = new Mailer;
$mailer->senddeleted($name,$email);
return 0; //New user added successfully
}
在Mailer.php
中添加session.php
并创建mailer
答案 2 :(得分:0)
在 session.php
中添加<?php include('Mailer.php') ?>
答案 3 :(得分:0)
从mailer.php文件中删除所有<br>
。
在mail.php
中加入session.php
,例如include("Mailer.php")
在session.php
$mailer = new Mailer;
$mailer
课程中已有Mailer
个对象,因此这应该适用于session.php
include('Mailer.php');
function sendUserdeleted($name,$email){
global $database, $form, $mailer ; //The database, form and mailer object
$mailer->senddeleted($name,$email);
return 0; //New user added succesfully
}