- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Как в php mailer, устроить редирект странички?
Добавляю header("Location: /registration/"); в ответ ошибку указывает, Cannot modify header information - headers already sent by
header нужно ставить до какого либо вывода контента в браузер.
Что-то вообще запутался, вот код формы:
function complete_mail() {
substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
$_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 1000);
$_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 1000);
$_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 30);
$_POST['pass'] = substr(htmlspecialchars(trim($_POST['pass'])), 0, 30);
$_POST['address'] = substr(htmlspecialchars(trim($_POST['address'])), 0, 50);
$_POST['spec'] = substr(htmlspecialchars(trim($_POST['spec'])), 0, 50);
$_POST['time'] = substr(htmlspecialchars(trim($_POST['time'])), 0, 50);
$_POST['region'] = substr(htmlspecialchars(trim($_POST['region'])), 0, 50);
$_POST['info'] = substr(htmlspecialchars(trim($_POST['info'])), 0, 50);
$mess = '
<b>Имя отправителя:</b>'.$_POST['name'].'<br />
<b>Контактный телефон:</b>'.$_POST['tel'].'<br />
<b>Контактный email:</b>'.$_POST['email'].'<br />
<b>Пароль:</b>'.$_POST['pass'].'<br />
<b>Адрес:</b>'.$_POST['adress'].'<br />
<b>Специлизация:</b>'.$_POST['spec'].'<br />
<b>Время работы:</b>'.$_POST['time'].'<br />
<b>Регион:</b>'.$_POST['region'].'<br />
<b>Информация о бизнесе:</b>'.$_POST['info'].'<br />
'.$_POST['mess'];
// подключаем файл класса для отправки почты
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->CharSet = "UTF-8";
$mail->From = 'contact@kolody-s.com'; // от кого
$mail->FromName = 'contact@kolody-s.com'; // от кого
$mail->AddAddress('contact@kolody-s.com', 'Имя'); // кому - адрес, Имя
$mail->IsHTML(true); // выставляем формат письма HTML
$mail->Subject = 'Заявка с сайта '; // тема письма
// если был файл, то прикрепляем его к письму
if(isset($_FILES['attachimage'])) {
if($_FILES['attachimage']['error'] == 0){
$mail->AddAttachment($_FILES['attachimage']['tmp_name'], $_FILES['attachimage']['name']);
}
}
if(isset($_FILES['attachimage2'])) {
if($_FILES['attachimage2']['error'] == 0){
$mail->AddAttachment($_FILES['attachimage2']['tmp_name'], $_FILES['attachimage2']['name']);
}
}
if(isset($_FILES['attachimage3'])) {
if($_FILES['attachimage3']['error'] == 0){
$mail->AddAttachment($_FILES['attachimage3']['tmp_name'], $_FILES['attachimage3']['name']);
}
}
$mail->Body = $mess;
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo 'Спасибо! Ваше письмо отправлено.';
sleep(5);
header("Location: /registration/");
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
Пробовал таким образом не выходит:
Не подскажете в чем проблема?
die ('Mailer Error: '.$mail->ErrorInfo);
и
echo 'Спасибо! Ваше письмо отправлено.';
Мешают.
И вроде как Location надо полностью указывать.
Если нужна задержка - сделайте редирект через JS
В начале скрипта сделайте:
<?
ob_start();
и всё будет работать.
В начале скрипта сделайте:
<?
ob_start();
и всё будет работать.
ставил перед функцией complete_mail, не помогло
Где я писал про "перед функцией"?!
Где всё это исполняется index.php или куда всё это инклудится, поставьте код, который я дал.
ставил перед функцией complete_mail, не помогло
В начале скрипта сделайте:
Неужели разницы не видно?
Где я писал про "перед функцией"?!
Где всё это исполняется index.php или куда всё это инклудится, поставьте код, который я дал.
извиняюсь, скрипт и начинается функцией этой, потому перед ней и вставил. уже работает, немного не доглядел когда копировал, спасибо.