Прежде всего, спасибо всем, кто помогал в прошлом с вопросами.
У меня есть веб-страница PHP, которая отправляет форму заявки на адрес электронной почты, а в конце у меня есть функция IF, чтобы отправить пользователя либо success.html, если письмо отправлено, либо error.html, если нет.PHP, если почта отправляется, перейдите на страницу успеха, если не перейдите на страницу с ошибкой
ли посылает по электронной почте или нет, пользователь всегда берется в error.html
Мой код выглядит следующим образом:
require '/PHPMailer-master/PHPMailerAutoload.php';
require '/PHPMailer-master/class.phpmailer.php';
$mail = new PHPMailer;
if(isset($_POST['submit'])){
$to = "[email protected]";
$from = $_POST['text_96'];
$fullname = $_POST['text_95'];
$email = $_POST['text_96'];
$dob = $_POST['date_12'];
$addr = $_POST['textarea_31'];
$maths = $_POST['text_93'];
$english = $_POST['text_31'];
$holidayst = $_POST['date_74'];
$holidayend = $_POST['date_91'];
$distance = $_POST['number_58'];
$awayhome = $_POST['selectlist_90'];
foreach($_POST['checkbox'] as $key=>$val){$apprent .= $val.' ';}
//$fileatt = $_POST['file'];
$reasontext = $_POST['textarea_60'];
$message = "Message";
$mail->setFrom($from, $fullname);
$mail->addAddress('[email protected]');
$mail->addAttachment($_FILES['file']['name']);
if (isset($_FILES['file']) &&
$_FILES['file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['file']['tmp_name'],
$_FILES['file']['name']);
}
$mail->Subject = 'subject';
$mail->Body = $message;
if(!$mail->send()) {
$message = NULL;
$headers = NULL;
header('Location: success.html');
} else {
$message = NULL;
$headers = NULL;
header('Location: error.html');
}
Я использую PHPMailer, чтобы отправить электронную почту, когда кнопка щелкнул.
Часть У меня возникли проблемы с заключается в следующем:
if(!$mail->send()) {
$message = NULL;
$headers = NULL;
header('Location: success.html');
} else {
$message = NULL;
$headers = NULL;
header('Location: error.html');
}
Я надеюсь, что это имеет смысл, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Любая помощь приветствуется.
'if (! $ Mail-> send()) {' означает, что он потерпел неудачу ('!'). Поэтому вам, вероятно, нужно удалить это. Какова ваша точная проблема, хотя, что происходит - или не происходит? – Qirel
Я думаю, что вам нужно инвертировать условие: 'if ($ mail-> send()) {success} else {error}' (удалить восклицательный знак) – fusion3k