Помогите разобраться с простеньким php-кодом!

SO
На сайте с 18.12.2008
Offline
138
435

Уважаемые программисты!

Помогите закончить и сделать рабочим скрипт формы обратной связи:

<form action="" method="post">
<p>Ваше имя:<br><input type="text" name="name" value=""></p>
<p>Ваш email:<br><input type="text" name="email" value=""></p>
<p>Телефон:<br><input type="text" name="tel" value=""></p>
<p>Тема:<br><input type="text" name="subj" value=""></p>
<p>Сообщение:<br><textarea name="msg" height="50px" width="100%"></textarea></p>
<p><input type="submit" value="Отправить"></p>
</form>

<?php

$email = "mail@mail.net";
if(isset($_POST['subj'])||isset($_POST['name'])||isset($_POST['tel'])||isset($_POST['msg']))
{
$msg = $_POST['msg'];
$tel = $_POST['tel'];
$name = $_POST['name'];
$subj = $_POST['subj']; echo "$subj <br> $name <br> $email <br> $tel <br> $msg";
mail($subj, $name, $tel, $msg, 'Content-type: text/html; charset=utf-8');
}
?>

Так как в php я не силен:confused:, не могу понять чего тут не хватает, чтобы скрипт заработал.

zhitov
На сайте с 30.01.2005
Offline
219
#1
SeOl:
mail($subj, $name, $tel, $msg, 'Content-type: text/html; charset=utf-8');

Видимо нужно мыло, на которое надо отправить всю эту инфу :)

Строительные калькуляторы ( https://www.zhitov.com/ )
alexspb
На сайте с 14.11.2005
Offline
187
#2

SeOl, будьте внимательнее к функции mail()

там три обязательных параметра, и четвертый необязательный

- email

- тема

- сообщение

- заголовки

в сообщение вставляйте все, что получили от пользователя

т.е. $tel и $msg - должны быть частью $msg

преобразование в переменные $name = $_POST['name']; лишний шаг, используйте непосредственно $_POST['name'];

ЗЫ Нельзя доверять данным, полученным от пользователя. Например, надо ограничить количество символов во всех переменных (обрезать $_POST['name'] и т.п.)

N
На сайте с 05.09.2005
Offline
101
#3

Попробуйте так:

mail ($email, $subj, $name.'\n'.$tel.'\n'.$msg, 'Content-type: text/html; charset=utf-8');

Полное описание функции:

mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

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

Апокалипсис
На сайте с 02.11.2008
Offline
391
#4

вдогонку http://phpfaq.ru/mail

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий