我有一个“联系我们”页面,填写所有字段后,我需要使用PHPMAILER发送电子邮件。我有以下代码可用于验证:
$msg = "";
$msg_2 = "";
$msg_3 = "";
$msg_4 = "";
if(empty($_POST['email_subject'])){
$msg = "<span class='text-danger'>Please select a subject for your email.</span>";
}
if(empty($_POST['message'])){
$msg_2 = "<span class='text-danger'>Please enter your message.</span>";
}
if(empty($_POST['email_2'])){
$msg_4 = "<span class='text-danger'>Please enter a valid email address.</span>";
}
if($mail->Send()) {
header('Location: thankYou_2.php');
}
我必须填写三个字段。现在,如果用户输入了电子邮件地址,并且消息中没有电子邮件主题,则表格将通过并发送电子邮件。但是,如果用户输入的电子邮件地址和电子邮件主题没有消息,则表单将无法通过,并且将显示错误消息。我需要让用户必须填写所有字段,然后发送电子邮件。
答案 0 :(得分:2)
看起来无论如何都会发送。您需要检查是否有错误。下面可能是一个很简单的方法。
import re
stat_log = '[0 +5] 23 for bucket [5 +5] 1 for bucket [25 +5] 22 for bucket [50 +5] 1'
stats_iter = re.findall('(\[[^][]+\])\s+(\d+)', stat_log,re.DOTALL)
print(stats_iter)
答案 1 :(得分:0)
JD Simpkins 分析器很有用。您也可以使用 if / else if 语句:
if(!isset($_POST['email_subject']) || empty($_POST['email_subject'])){
$msg = "<span class='text-danger'>Please select a subject for your email.</span>";
}
else if(!isset($_POST['message']) || empty($_POST['message'])){
$msg_2 = "<span class='text-danger'>Please enter your message.</span>";
}
else if(!isset($_POST['email_2']) || empty($_POST['email_2'])){
$msg_4 = "<span class='text-danger'>Please enter a valid email address.</span>";
}
else if($mail->Send()) {
header('Location: thankYou_2.php');
}