Я создаю очень простое приложение с Laravel4, и до сих пор мне удалось настроить PHPMailer для работы с формой контакта, пользователи заполняют свои данные и отправляют мне электронное письмо, все работает нормально. После того, как пользователь отправил сообщение успешно, он перенаправляется на главную страницу с помощьюPHPMailer - показать сообщение об успешном завершении после перенаправления
if($m->send()) {
header('Location: /path/to/home/');
die();
}
Теперь то, что мне нужно, это сообщение об успешном выполнении, которое появляется в верхней части главной страницы, если пользователь был перенаправлен после успешной отправки Эл. адрес.
У меня есть div с .success
класс, сидящий на верхней части моей домашней страницы, абсолютно позиционированный вне поля зрения, с отрицательным значением Y. Я пытался потянув его вниз после того, как на $m->send()
так:
if($m->send()) {
header('Location: /path/to/home/');
echo "<script type='text/javascript'>
$('.success').animate({
top: 0
}, 2000);
</script>";
die();
}
но не работал. На самом деле, ничего не происходит после того, как заголовок() имеет какой-либо эффект.
Что я могу сделать?
Спасибо, ребята!
Теперь я понимаю, что ничего не происходит после того, как заголовок() фактически выполнен. Таким образом, я пытаюсь установить '$ _SESSION ['success'] = true' перед заголовком, а затем на главной странице, если это правда, выполните указанный скрипт. Но все равно не повезло ... – Grudges
Возможно, вам нужно будет вызвать 'session_write_close();' и убедитесь, что у вас открыт сеанс. – Synchro
Я открыл сеансы, все работает сейчас. Я точно не нашел идеальное время, чтобы полностью убить сеансы, но на данный момент Im просто не читает данные в конце страниц, где сеанс открыт, например, ' Php unset ($ _ SESSION ['success «]); ?> ' – Grudges