【发布时间】:2015-08-10 10:25:58
【问题描述】:
我有一个 MySQL 数据库,里面有学生。我可以选择其中的一部分或全部并向选定的对象发送电子邮件。
我还可以将电子邮件保存在数据库的表中。我现在需要一种方法,当我向选定的学生发送电子邮件时,在电子邮件正文中插入一个独特的链接,当他们点击它时,将他们的状态从后端更改为批准,确认,而他们会看到一条消息,表明他们的请求已得到确认。
我现在用于发送邮件并将它们插入数据库的代码是这样的:
<?php
session_start();
$page_name = 'Send Emails';
require_once('header.php');
if(!empty($_POST['send'])){
$id_mail= "";
foreach ($_POST['selected'] as $key => $value) {
echo "$key - $value <br>";
$id_mail .= "$value, ";
}
$id_mail= substr($id_mail, 0, -2);
}
if(!empty($_POST['Send2'])){
$mail= mysqli_query($conn, "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail])");
echo "SELECT student_id, mail FROM students WHERE student_id IN($_POST[id_mail]) ";
while ($row_mail = mysqli_fetch_assoc($mail)) {
echo "$row_mail[mail] ";
$to = $row_mail['mail'];
$subject = $_POST['head'];
$message = $_POST['body'];
$headers = 'From: code-week@example.com' . "\r\n" .
'Please do not reply to this message' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
$sent_mails= mysqli_query($conn, "INSERT INTO sent_mails (id_st, mail_head, content) VALUES ('$_POST[id_mail]', '$subject', '$message') ");
if (mysqli_query($conn, $sent_mails)){
echo "Success";
} else {
echo "Error ". $sent_mails . "<br/>" . mysqli_error($conn);
}
}
}
mysqli_close($conn);
?>
<form name='mail2' method='post' action='send_email.php'><br/>
<input type="hidden" name="id_mail" value="<?php echo $id_mail; ?>">
<br/>
<input type='text' name='head' placeholder='header'>
<br/>
<br/>
<textarea name='body' rows="4" cols="50" placeholder='body'></textarea><br/>
<br/>
<input class='btn btn-danger'type='submit' name="Send2" value='Send'>
</form>
【问题讨论】:
-
那么,问题是什么?
-
@Epodax 完全同意。哥们,你需要什么?
-
我需要一种方法在电子邮件正文中插入一个独特的链接,当他们点击它时,将他们的状态从后端更改,比如说批准,确认,而他们看到他们的请求已得到确认的消息。基本上是一个RSVP系统。我通过电子邮件邀请某人参加,如果他决定加入,他会点击我发送给他的链接以回复。