У меня есть файл mail.php который отвечает за отправку сообщений с моего сайта на мой емайл. Вот код:
<?php
if($_POST['name'] && $_POST['email'] && $_POST['mess']){
$name = substr($_POST['name'],0,20);
$email = substr($_POST['email'],0,20);
$mess = substr($_POST['mess'],0,1000);
$to = 'email@mail.ru';
$subject = 'Сообщение с вашего интернет-сайта';
$message = 'Имя пославшего:'.$name.'::::::::::Электронный адрес:'.$email.'::::::::::Сообщение: '.$mess.':::::::Номер:'. $phone.'::::::::::IP-адрес:'.$_SERVER['REMOTE_ADDR'];
$go=mail($to,$subject,$message);
if($go==true){echo 'Сообщение отправлено!';} else{echo 'Сообщение <b>не</b> отправлено!';}
}
elseif(!$_POST['name']){echo 'Имя не заполнено';}
elseif(!$_POST['email']){echo 'Не указан эмаил';}
else{echo 'поле с сообщением пустое';}
?>
Возможно ли что-то в коде прописать чтобы после отправки сообщения не просто писало Сообщение отправлено (в новом окне), а было перенаправление с этого окна на главную страницу сайта через несколько секунд. Так чтобы человек прочитал что сообщение отправлено или нет и задействовалось перенаправление. Если возможно, помогите пожалуйста, напишите готовый код. Спасибо.
Спустя 56 минут, 18 секунд (4.11.2011 - 10:16) phz написал(а):
Используй:
выставь необходимое кол-во сек.
header("Refresh:3; url=http://site.ru/");
выставь необходимое кол-во сек.
Спустя 3 часа, 6 секунд (4.11.2011 - 13:16) RIF написал(а):
Цитата (phz @ 4.11.2011 - 07:16) |
Используй:header("Refresh:3; url=http://site.ru/"); выставь необходимое кол-во сек. |
А где это в коде прописать? Я в php не разбираюсь.
Спустя 11 минут, 24 секунды (4.11.2011 - 13:27) phz написал(а):
Проверь:
Главное чтобы перед вызовом header не было нигде вывода текста. Если будет текст к примеру, появ. ошибка Warning: Cannot modify header information - headers already sent by (output started at...
<?php
if($_POST['name'] && $_POST['email'] && $_POST['mess']){
$name = substr($_POST['name'],0,20);
$email = substr($_POST['email'],0,20);
$mess = substr($_POST['mess'],0,1000);
$to = 'email@mail.ru';
$subject = 'Сообщение с вашего интернет-сайта';
$message = 'Имя пославшего:'.$name.'::::::::::Электронный адрес:'.$email.'::::::::::Сообщение: '.$mess.':::::::Номер:'. $phone.'::::::::::IP-адрес:'.$_SERVER['REMOTE_ADDR'];
$go=mail($to,$subject,$message);
if($go==true){
header("Refresh:3; url=http://site.ru/");
echo 'Сообщение отправлено!';} else{echo 'Сообщение <b>не</b> отправлено!';}
}
elseif(!$_POST['name']){echo 'Имя не заполнено';}
elseif(!$_POST['email']){echo 'Не указан эмаил';}
else{echo 'поле с сообщением пустое';}
?>
Главное чтобы перед вызовом header не было нигде вывода текста. Если будет текст к примеру, появ. ошибка Warning: Cannot modify header information - headers already sent by (output started at...
Спустя 18 минут, 44 секунды (4.11.2011 - 13:46) RIF написал(а):
Цитата (phz @ 4.11.2011 - 10:27) |
Проверь:<?php Главное чтобы перед вызовом header не было нигде вывода текста. Если будет текст к примеру, появ. ошибка Warning: Cannot modify header information - headers already sent by (output started at... |
Спасибо огромное. Все работает!