1

Тема: Форма надсилання Email на сайте с PHP

<!DOCTYPE html>
<?PHP ini_set('display_errors',1);
error_reporting(E_ALL); ?>
<html lang="en">
<head>
        <meta charset="UTF-8">
       
</head>
<body>
       
 
<form action="submit.php" method="POST">
 
                                        <div class="row">
                                                <h1>Анкетні дані кандидата у члени громадської організації <br>«Файні ябка 57»</h1>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Прізвище</h2>
                                                        <input type="text" name="Surname" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Ім'я</h2>
                                                        <input type="text" name="Name" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>По батькові</h2>
                                                        <input type="text" name="Second_name" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Дата народження</h2>
                                                        <input type="text" name="Birth_date" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Адреса</h2>
                                                        <input type="text" name="Addres" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Контакти</h2>
                                                        <input type="text" name="Contacts" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Освіта</h2>
                                                        <input type="text" name="Education" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <h2>Місце роботи</h2>
                                                        <input type="text" name="Place_of_work" placeholder="Введіть ваші дані">
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <p><input type="checkbox">Я підтверджую, що мої дії щодо вступу в громадську організацію «Файні ябка 57» є добровільними, а також надаю свою згоду на обробку, використання та поширення моїх персональних даних відповідно до Закону України «Про захист персональних даних» для реалізації мети та завдань, передбачених Статутом організації.</p>
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <p><input type="checkbox">Я хочу стати анонімним інвестором</p>
                                                </div>
                                        </div>
                                        <div class="row">
                                                <div class="col-md-8 col-md-offset-2">
                                                        <input type="submit" value="Отправить сообщение">
                                                </div>
                                        </div>
                                </form>
                                </body>
</html>

ось файл submit.php

<?PHP
ini_set('display_errors',1);
error_reporting(E_ALL);
if (!empty($_POST['name']) AND !empty($_POST['email']) AND !empty($_POST['message']))
{
    $headers = 'From: Кротов Роман\r\n' .
                'Reply-To: den19948@gmail.com\r\n' .
                'X-Mailer: PHP/' . phpversion();
         
    $theme = "Новое сообщение с сайта";            
             
    $letter = "Данные сообщения:";
    $letter .="\n\n";
    $letter .="Имя: ".$_POST['name'];
    $letter .="\nEmail: ".$_POST['email'];
    $letter .="\nТелефон: ".$_POST['phone'];
    $letter .="\nСообщение: ".$_POST['message'];
   
    if (mail("den19948@gmail.com", $theme, $letter, $headers)){
      header("Location: /testform/thankyou.php");
    } else {
      header("Location: /testform");
    }  
             
} else {
  header("Location: /testform");
}

при натисканні кнопки оправить не відбувається абсолютно ничого, підкажіть будь ласка, де може бути проблема?

2 Востаннє редагувалося 221VOLT (18.03.2017 02:43:58)

Re: Форма надсилання Email на сайте с PHP

чому ви думаєте що

$_POST['name']

та

$_POST['Name']

це одне і те ж?

зробіть var_dump змінних чи print_r($_POST),
подивіться наявні key-value та питання вирішиться само :)

робіть краще провірку на сабміт форми так --

<input type="submit" name="submit" value="Отправить сообщение">

та

if(isset($_POST['submit'])){
//... тут валідація параметрів, додаткові провірки etc
}

крім того, (можливо я помиляюсь чи путаю з іншою мовою програмування)
в php є різниця між '\r\n' та "\r\n" -- здається одна строка запише як текст, інша - як спецсимволи

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////
Подякували: Monolith, varkon2

3

Re: Форма надсилання Email на сайте с PHP

221VOLT написав:

в php є різниця між '\r\n' та "\r\n" -- здається одна строка запише як текст, інша - як спецсимволи

Ні. В першому випадку це буде просто строковий масив, у другому випадку буде опрацьовуватися змінні. У приведеному прикладі краще використовувати перший варіант

Робіть що хочете - людина створена вільною
Подякували: 221VOLT1

4

Re: Форма надсилання Email на сайте с PHP

varkon написав:
221VOLT написав:

в php є різниця між '\r\n' та "\r\n" -- здається одна строка запише як текст, інша - як спецсимволи

Ні. В першому випадку це буде просто строковий масив, у другому випадку буде опрацьовуватися змінні. У приведеному прикладі краще використовувати перший варіант

точно десь зустрічав інформацію, що окрім змінних в подвійних ще дещо обробляється, а в одинарних - ні
чи то спецсимволи якісь, чи то ще щось ..
можливо то лише по php7 стаття була, не памятаю :)

https://blog.clever-games.win/
Це ще не кінець. Це навіть не початок кінця. Але, можливо, це кінець початку.
Зростання мудрості можна точно вимірювати ступенем зменшення злоби.
///// у творчій відпустці. не турбувати /////