[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перенаправление с mail.php
RIF
Здравствуйте.
У меня есть файл 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 написал(а):
Проверь:

<?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

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...

Спасибо огромное. Все работает!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.