Как отправить данные html-формы на почту?


#1

Здравствуйте. Надеюсь поможете.

Исходные данные: создал форму и опубликовал на сайте. ( http://23sd.zzz.com.ua/) В папке файл Index.php и send.php. По идее данные из index.php должны перекидываться в send.php а та должна перекидывать уже на заданный емайл. Как это сделать?

Задача: чтобы форма отправляла данные на заданный емайл.

Содержажние index.php

<!DOCTYPE html>
<html lang="ru">
<head>
    <title>Форма доставки</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="/css-style.css">
</head>
<body>
    <header class="page-header">Форма доставки</header>
    <main>
        <form action="send.php" method="post">
            <label for="name">Имя</label> 
            <input type="text" id="name" name="name" placeholder="Иванов Иван Иванович" required autofocus>
            <label for="address">Адрес доставки</label>
            <textarea id="address" name="address" rows="2" required>ул. Западный Обход, д.</textarea>
             <label for="tel">Номер телефона
            <input type="tel" name="tel" placeholder="+7 (900) 000 11 22"  required></label> 
            <div class="half-width">
                <label for="date">Дата доставки</label> 
                <!-- Выбор даты -->
                <input type="date" name="date">
            </div>
            <div class="half-width">
                <label for="time">Время доставки</label> 
                <input type="time" id="time" name="time" value="12:00">
            </div>
            <div class="half-width2">
                <label for="vegetables">Овощи</label>
                <input type="text" id="vegetables" name="vegetables" list="vegetableses">
                <!-- Список возможных значений -->
                <datalist id="vegetableses">
                    <option value="Бананы">
                    <option value="Хурма">
                    <option value="Манадрины (мелкие, сладкие)">
                    <option value="Мандарины (крупные)">
                    <option value="Картошка">
                    <option value="Картошка (мелкая)">
                    <option value="Картошка (крупная розовая)">
                    <option value="Картошка (крупная голландка)">
                </datalist>
            </div>
            <div class="half-width3">
                <label for="amount">Количество (в кг)</label>
                <!-- Поле для ввода числового значения -->
                <input type="number" min="1" max="50" step="1" id="amount" name="amount">
            </div>
            <div class="buttons">
                <input type="submit" value="Заказать">
            </div>
        </form> 
    </main>
    <footer class="page-footer"></footer>
</body>
</html>

Содержание send.php

/*Вывод данных из файла form.php*/

$fio = $_POST['fio'];
$address = $_POST['address'];
$tel = $_POST['tel'];
$time = $_POST['time'];
$vegetables = $_POST['vegetables'];
$amount = $_POST['amount'];

/*Функции. Первая функция. Что сделает фильтр, он преобразует символы <> чтобы нельзя было вставить символы html в форму.*/

$fio = htmlspecialchars($fio);
$address = htmlspecialchars($address);
$tel = htmlspecialchars($tel);
$time = htmlspecialchars($time);
$vegetables = htmlspecialchars($vegetables);
$amount = htmlspecialchars($amount);

/*Вторая функция декодирует url, если пользователь попытается его добавить в форму*/

$fio = urldecode($fio);
$address = urldecode($address);
$tel = urldecode($tel);
$time = urldecode($time);
$vegetables = urldecode($vegetables);
$amount = urldecode($amount);

/*Третей функцией мы удалим пробелы с начала и конца строки, если таковые имеются*/

$fio = trim($fio);
$address = urldecode($address);
$tel = urldecode($tel);
$time = urldecode($time);
$vegetables = urldecode($vegetables);
$amount = urldecode($amount);

/*Проверка вывода*/

echo $fio;
echo "<br>";
echo $fio;

/*Отправляем полученные данные из формы на почту*/

if mail("20mars07@mail.ru", "Заявка с сайта", "ФИО:".$fio.". Адрес: ".$address, "Телефон".$tel." "Время доставки".$time." "Овощи".$vegetables." "Количество кг:".$amount." "From: selling@23sd.zzz.com.ua \r\n"));

{     echo "сообщение успешно отправлено"; 
} else { 
    echo "при отправке сообщения возникли ошибки";
}?>

Нужно с ящика сайта selling@23sd.zzz.com.ua \r\n перекинуть данные на 20mars07@mail.ru. Где ошибка подскажите пожалуйста? Два дня с этим мучаюсь! =( Вроде так все просто. Но я не могу понять где ошибся. Когда нажимаю на кнопку отправки формы - браузер открывает на странице код файла send.php и все =(


#2

Для начала такой вопрос, а ты открыл сайт через сервер? закинул исходник на localhost?