Обработчик обратной связи. Нужна помощь!

S2
На сайте с 01.08.2011
Offline
30
1014

Помогите написать обработчик для обратной связи. Я просто не знаю где и что заполнить правильно.

Есть html форма

<div class="popup-form">
<form action="/send.php" id="feedback-form" class="feedback-form">
<fieldset>
<legend>Обратная связь</legend>
<dl class="form-items">
<dt class="form-item-label"><label for="first-name">Имя:</label></dt>
<dd class="form-item"><input type="text" name="first-name" value="" id="first-name" class="form-text"/></dd>
<dt class="form-item-label"><label for="phone-number">Телефон:</label></dt>
<dd class="form-item"><input type="text" name="phone-number" value="" id="phone-number" class="form-text"/></dd>
<dt class="form-item-label"><label for="e-mail">...или email:</label></dt>
<dd class="form-item"><input type="text" name="e-mail" value="" id="e-mail" class="form-text"/></dd>
<dt class="form-item-label"><label for="question">Ваш вопрос:</label></dt>
<dd class="form-item"><textarea name="question" id="question" rows="8" cols="40" class="form-text"></textarea></dd>
</dl>
<p><input type="submit" class="button" value="Отправить"/></p>
</fieldset>
</form>
</div>

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

<?php

$xxx =$_POST["xxx"];

$name=$_POST["name"];
$email=$_POST["email"];
$mess=$_POST["mess"];
if (isset ($name))
{
$name = substr($name,0,20);
if (empty($name))
{
echo "<center><b>Не указано имя.<p>";
echo "<a href=contact.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}
if (isset ($email))
{
$email = substr($email,0,20);
if (empty($email))
{
echo "<center><b>Не указан e-mail.<p>";
echo "<a href=contact.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$email = "не указано";
}
if (isset ($mess))
{
$mess = substr($mess,0,1000);
if (empty($mess))
{
echo "<center><b>Нет текста вопроса.<p>";
echo "<a href=contact.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$mess = "не указано";
}
$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}
$to = "адрес почты";
$subject = "вопрос от посетителя сайта";

$message = "Имя:$name:Электронный адрес:$email:Сообщение:$mess:IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо.";
echo "<center><b>Спасибо за отправку вашего сообщения<br><a href=index.htm>Нажмите</a>, чтобы вернуться на Главную страницу сайта";
exit;
?>
-O-O-
На сайте с 27.05.2006
Offline
140
#1

$_POST["name"]; а должно быть <input type="text" name="first-name" value="" id="first-name" class="form-text"/>

Параметр name, тега input передается в $_POST

То есть правильно будет $name=$_POST["first-name"];

И тут <form action="/send.php" id="feedback-form" class="feedback-form" method="POST">

KK
На сайте с 25.07.2006
Offline
138
#2
souz21:
Вот нашел один из вариантов...Я менял значения на свои

Это уже с измененными значениями?

По идее нет, т.к. все переменные другие, либо совсем неправильно поизменял.

Напиши твой вариант - с уже измененными значениями.

S2
На сайте с 01.08.2011
Offline
30
#3

Нет, это без изменений. Я не знаю как правильно изменить. Разные варианты пробовал...Выложил просто код, может кто поправит,или что подскажет

---------- Добавлено 29.03.2012 в 22:00 ----------

-O-O-:
$_POST["name"]; а должно быть <input type="text" name="first-name" value="" id="first-name" class="form-text"/>

Параметр name, тега input передается в $_POST

То есть правильно будет $name=$_POST["first-name"];

И тут <form action="/send.php" id="feedback-form" class="feedback-form" method="POST">

Я менял значения на свои. Но на почту приходит только название полей, без содержания. Может я их не правильно меняю?

$name=$_POST["здесь свое значение"];

$email=$_POST["здесь свое значение"];

$mess=$_POST["здесь свое значение"];

if (isset ($name))

-O-O-
На сайте с 27.05.2006
Offline
140
#4

Если сделать как я написал -

$name=$_POST["first-name"];

И в коде формы <form action="/send.php" id="feedback-form" class="feedback-form" method="POST">

В поле "имя" пустое значение приходит в письме?

S2
На сайте с 01.08.2011
Offline
30
#5

Сейчас вообще выходит сообщение после отправки..- Ошибка ! Скрипту не были переданы параметры !

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#6

ТС, читайте основы PHP, работа с формами.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
E
На сайте с 26.03.2011
Offline
27
#7

Миллион примеров в гугле.

Даже если php не знаешь, найдешь.

here...

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