2013-07-01 2 views
1

Я делаю форму для регистрации пользователя, когда они нажимают кнопку «Отправить», активное электронное письмо будет отправлено на их электронную почту и перейти на страницу индекса. Это кодВ ожидании отправки функции в phpmailer или по почте функция

/* 
code config for PHPMailer 
*/ 
$mail->Send(); 
header("location: index.php"); 

Этот вопрос занять некоторое второе ждать $ mail-> Send(); или почта ($ user_email, $ subject, $ content) завершено. Как может, когда пользователь нажмет кнопку «Отправить», перейдет на index.php, и электронная почта будет отправлена ​​в фоновом режиме. Спасибо!

ответ

-1

Может попробовать что-то вроде этого:

<?php if($mail->Send();) { header("location: index.php"); } 
+0

Он по-прежнему ожидает $ mail-> Send(); – Hoclamweb

0

PHP является один поток, который означает, что он будет работать только это путь, хотя сценарий. Он будет ждать, когда что-то сделает, и продолжится, когда закончится.

То, что вы хотите, невозможно.

Вы МОЖЕТЕ попробовать попробовать подход с Ajax и двумя отдельными сценариями.

+0

Спасибо, не могли бы вы объяснить более подробно? – Hoclamweb

+0

@Hoclamweb - Объясните что? Единственный поток означает, что PHP может делать только одну вещь за раз в сценарии. Если вы хотите делать то, что вы просите, вы должны разделить задание на большее количество скриптов и запускать их одновременно. Для этого используется Ajax. – OptimusCrime

+0

Да, я понимаю одну нить в PHP, я не знаю, как использовать ajax в этой проблеме. Спасибо! – Hoclamweb

0

Вы можете добавить дополнительный параметр по почте Funciton

$additional_parameters = "O DeliveryMode=b"; 
mail ($to, $subject,$message, $additional_headers, $additional_parameters) 

надеясь, что он будет работать