Помогите преобразовать PHP код (обратная связь)

T
На сайте с 28.02.2011
Offline
31
744

Есть код:

<?php
$url = "http://sayt.html"; //Ваша страница, где вы будете ставить форму обратной связи.
$title = "http://sayt.ru"; //адрес вашего сайта
$subject = "Оформлена заявка на сайте $title"; //Тема отправляемых вам сообщений
$admail = "sayt@mail.ru"; //Ваш e-mail, на который будут отправляться письма

$back = "<p><a href=\"javascript: history.back()\">Вернуться на страницу</a></p>";

if(@$_POST['nick'] or @$_POST['email'] or @$_POST['msg'] or @$_POST['telefon'])
{
@$nick = $_POST['nick'] or die("Убедитесь, что вы ввели свое имя!$back");
@$email = $_POST['email'] or die("Убедитесь, что вы ввели свой E-mail!$back");
@$telefon = $_POST['telefon'] or die("Убедитесь, что вы ввели свой Телефон!$back");
@$msg = $_POST['msg'] or die("Убедитесь, что вы ввели сообшение!$back");

if(!eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $email))
{
echo "Убедитесь, что вы ввели корректный E-mail!$back";
exit;
}

$content = "\nПользователь $nick!\n
Адресс: $email\n
Телефон: $telefon\n
Отправил(а) вам письмо с сайта - \"$title\"\n
Тема - $delivery, со следующим содержанием:\n\n$msg";
if(!@mail($admail, $subject, $content))
{
echo "Ошибка при отправке письма. Пожалуйста, сообщите об этом администратору данного сайта,<Br> позвонив по телефону: 11-111-11.$back";
exit;
}
else
{
echo "Спасибо, Ваше сообщение отправлено!<Br> $back ";
}
}
else {
die("Пожалуйста, введите E-mail!$back");
}
?>

Как сделать чтобы поля "Имя" и "Телефон" были необязательными?

Если просто удалить

if(@$_POST['nick'] or @$_POST['telefon'])
{
@$nick = $_POST['nick'] or die("Убедитесь, что вы ввели свое имя!$back");
@$telefon = $_POST['telefon'] or die("Убедитесь, что вы ввели свой Телефон!$back");

Тогда содержимое на почту не отправляется.

Как сделать правильно?

Спасибо!

siv1987
На сайте с 02.04.2009
Offline
427
#1

Удалить


@$nick = $_POST['nick'] or die("Убедитесь, что вы ввели свое имя!$back");

@$telefon = $_POST['telefon'] or die("Убедитесь, что вы ввели свой Телефон!$back");
dayw
На сайте с 25.01.2006
Offline
116
#2

Можно удалить только то, что идет от

or die("

Парсер ваш код импортил, но думаю вы поймете о чем я:

Т.е. примерно так:


@$nick = $_POST['nick'];

@$telefon = $_POST['telefon'];
Интернет-магазин игровых приставок в Москве (https://savelagame.ru)
T
На сайте с 28.02.2011
Offline
31
#3

Спасибо!

Скажите пожалуйста, как сделать, что бы после отправки письма открывалась не новая страница, а появлялось окошко на той же странице, в котором будет написано, что ваше сообщение отправлено.

dayw
На сайте с 25.01.2006
Offline
116
#4

Код отправки вставляйте туда, где форма стоит, только, чтобы php в этой странице мог выполняться

T
На сайте с 28.02.2011
Offline
31
#5

Плохо понимаю как это сделать, что нужно изменить в коде?

dayw
На сайте с 25.01.2006
Offline
116
#6

Стучите в аську - помогу.

Кратко:

У вас форма для ввода данных где установлена? Вот выше этой формы(например), можно вставить код, который отправляет письмо. Это в самом простом случае и без учета в итоге дизайна сайта

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