добрый день!
помогите пожалуйста собрать всё воедино.
проблема 1:
при заполнении формы по submit отправляется письмо с запросом с данными из формы. если обновлять страницу - письмо будет отправляться опять и опять. это удалось решить отправкой заголовка с перенаправлением на текущую страницу:
$url = $_SERVER['REQUEST_URI'];
//header("Location: $url");
проблема 2: хочется вывести сообщение пользователю, о том, что запрос успешно отправлен, но в этом случае заголовки отправляются раньше и перенаправление уже сделать не получается.
Ниже код, отправка заголовка закомментирована. Если раскомментировать, получится ошибка с предупреждением, что заголовки уже отправлены, и по обновлению страницы письмо будет отправляться снова и снова с введенными ранее данными.
if (mail($mail_to, $subj, $body, "From: $from")) {
$mail_result = 'Ваш запрос отправлен. В ближайшее время мы свяжемся с Вами. Спасибо!';
echo " < script > alert( '$mail_result' ); < / script >";
$url = $_SERVER['REQUEST_URI'];
//header("Location: $url");
}
Вопрос - возможно ли вообще отправить заголовки после того, как будет выведен alert?
Пробовала выводить его вначале скрипта PHP, с проверкой "если длина $mail_result больше нуля, то вывести echo "";)
Но такой подход ничего не даёт, т.е. получается когда мы полностью перезагружаем страницу отправкой заголовка скрипт отрабатывает заново, а в его начале $mail_result еще не существует.
Что делать? Как и рыбку съесть и.. косточкой не подавиться?