Denisss70

Рейтинг
114
Регистрация
23.11.2005
Милованов Ю.С:
$headers = "Content-type: text/plain; charset="windows-1251\r\n"';
$headers .= "From: $email\r\n";
$headers .= "Return-path: $email\r\n";
\r - спец.символ в ПХП - возврат коретки.
\n - тоже спец символ - перенос строки.
Так вот, наш ENTER по разному "обозначается" в Win и *Nix системах.
\r\n - Windows
\n - *nix-системы
Попробуйте по разному, если не знаете что за ОС на Вашем сервере.

ЗЫ. взято из мануала по ПХП.
Замечание: When sending mail, the mail must contain a From header. This can be set with the additional_headers parameter, or a default can be set in php.ini.
Когда отправляется письмо, оно должно содержать заголовок FROM, либо же это можно установить в PHP.INI по умолчанию.

спасибо за подсказку, но не сработало

Все заработало на ура. Но есть одно но. Полученное письмо в графе "От" не содержит e-mail отправителя, стоит ящик хостера. Была беседа с хостером на эту тему, он привел пример, где параметр $headers имеет заданный e-mail и функция mail() имеет запись:

mail($to, $tema, $mess,

"From: почта@почта.ru

Content-Type: text/plain; charset=windows-1251

Content-Transfer-Encoding: 8bit"

);

В этом случае в полученном письме в графе "От" стоит e-mail отправителя. Что необходимо сделать, чтобы передавался e-mail отправителя в скрипте ниже:

Скрипт проверки заполненности полей (он работает верно)

<script>

function FormSubmit()

{

var form = document.forms[0];

var name = form.name.value;

var email = form.email.value;

var tlf = form.tlf.value;

var tema = form.tema.value;

var controlnum = form.controlnum.value;

var contt = form.contt.value;

if (name == "") {window.alert("Ваше имя не введено"); return false;}

if (email == "") {window.alert("Ваш e-mail не введен"); return false;}

if (tlf == "") {window.alert("Введите номер телефона"); return false;}

if (tema == "") {window.alert("Тема не введена"); return false;}

if (controlnum != "159035") {window.alert("Введите правильно контрольное число"); return false;}

if (contt == "") {window.alert("Сообщение не должно быть пустым"); return false;}

return true;

}

</script>

Форма отправки сообщения

<form action="post.php" method="post" name="mailer">

Введите ваше имя: <br><input type="text" name="name" value="">

Введите название вашей организации: <br><input type="text" name="org" value="">

Введите ваш e-mail: <br><input type="text" name="email">

Введите ваш телефон: <br><input type="text" name="tlf" value="">

Введите тему письма: <br><input type="text" name="tema" value="">

Контрольное число: <br><input type="text" name="controlnum" value="">

Введите текст письма: <br><textarea name="contt" cols="60" rows="7"></textarea>

<input type=submit value=" отправить " onClick="return FormSubmit()">

<input TYPE=reset VALUE=" очистить поля ">

</form>

Код post.php:

<?

if (isset($_POST['name'])) {$name = $_POST['name'];}

if (isset($_POST['org'])) {$org = $_POST['org'];}

if (isset($_POST['email'])) {$email = $_POST['email'];}

if (isset($_POST['tlf'])) {$tlf = $_POST['tlf'];}

if (isset($_POST['tema'])) {$tema = $_POST['tema'];}

if (isset($_POST['contt'])) {$contt = $_POST['contt'];}

$to = "почта@mail.ru";

$mess = "С сайта www.сайт.ru было отправленно сообщение.

Имя отправителя - $name;

Организация отправителя - $org;

e-mail отправителя - $email;

телефон отправителя - $tlf;

Сообщение:

$contt";

$headers = 'Content-type: text/plain; charset="windows-1251"';

$headers .= "From: <" . $email . "> ";

$headers .= "Return-path: <" . $email . "> ";

mail($to, $tema, $mess, $headers);

echo ('<html><head>

<meta http-equiv="content-type" content="text/plain; charset=windows-1251">

<meta http-equiv="refresh" content="0; url=feedback.html">

</head></body></html>');

?>

я привел только часть формы, параметр $org не надо учитывать

функция onClick="return FormSubmit()" - скрипт проверки заполненности форм

более интересует, почему

если данные вбиты явно, то есть как с параметрами $to и $mess - то они передаются и письмо приходит с сайта.

А если данные передаются к параметрам $name, $mail, $org, &tema с форм, то письмо вообще не приходит с сайта.

сколько ни наблюдаю, но позиции в ВЭ показываются не верно. в частности по Google. почему так?

что за опять с ВЭ? не могу пополнить баланс через вэбмани? сайт не доступен.

оплатил через киви, деньги так и не пришли.

что вы там опять мудрите?

ps завтра компании будут заморожены (

Professor - ну и когда все заработает? завтра тоже компании не будут заморожены?

сайт не открывается. а хотелось бы очень пополнить баланс. точно не помню, но денег на завтра уже не осталось в профиле, компании будут заморожены.

Роман Б.:
Класс, на VSOP 6 дней назад куплена ссылка на вот такой странице xxxx

такие ссылки не редкость. поэтому надо ручками проверять, хотя бы раз в неделю

все старые сайты, все просели, причем серьезно. по некоторым регионам только за голову хвататься. один сайт 3 года в топе простоял твердо и...нет его много где. жесть

сайты, что в як и даны им регионы. по этим регионам все в "+". сайты что не в як и только один регион по местонахождению фирмы - вот по ним жесть...

надо будет подождать след.1-2 апа и если ничего не изменится, придется все кардинально менять

mff:
Denisss70,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

В стиле:
html{

width: 100%;
height: 100%;
}
body{
width: 100%;
height: 100%;
}

Таблице:
<table height="100%">

Ячейке которая должна растягиваться:
<td height="100%">

в том то и вся фишка, что дав всем родителям height:100% и тоже самое требуемой ячейке, она растягивается в ИЕ7 больше чем на 100%.

сменил !DOCTYPE что выше написали, а был именно такой на <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> и все нормально отображаться стало

Всего: 339