1

Тема: Поможіть, приходить пуста форма обратного звязку

ще не освоїв ази програміруваня, того есть помилки, поможіть с формой обратного звязку, отправляє на імеіл пустий лист, без даних заповнених в формі, поможіть найти помилку
PHP:

<?php
// ----------------------------конфигурация-------------------------- // 
$adminemail="yarluk07@interos.s-host.net";  // e-mail админа
$date=date("d.m.y"); // число.месяц.год
$time=date("H:i"); // часы:минуты:секунды
$backurl="http://interos.s-host.net";  // На какую страничку переходит после отправки письма
//---------------------------------------------------------------------- //
$name = filter_input(INPUT_POST,'name');
$phone = filter_input(INPUT_POST,'phone');
$email = filter_input(INPUT_POST,'email', FILTER_VALIDATE_EMAIL);
if ( $email === false ){
// не валидный емейл
}
{
echo
"<center>Вернитесь <a
href='javascript:history.back(1)'><B>назад</B></a>. Вы
указали неверные данные!";
}
{
$msg="
<p>Имя:$name</p>
<p>Телефон:$phone</p>
<p>E-mail:$email</p>
";
// Отправляем письмо админу
mail("$adminemail","$date $time Сообщение
от $name", "$msg");
// Сохраняем в базу данных
$f = fopen("message.txt", "a+");
fwrite($f," \n $date $time Сообщение от $name");
fwrite($f,"\n $msg ");
fwrite($f,"\n ---------------");
fclose($f);
}
?>

HTML:

<div class="form">
              <form action= "php/post.php" method= "POST"> 
                <div class="form-heading">
                    <h6>Получите доступ </h6>
                    <p>к оптовым ценам <span>+ скидку до 25 000 грн</span>. на заказ</p>
                </div>
                <div class="form-content">
                    <div class="form-group form-group1">
                        <label>Имя</label>
                        <input type="text" name="name" class="name required">
                    </div>
                    <div class="form-group form-group2">
                        <label>Телефон</label>
                        <input type="text" name="phone" class="phone required">
                    </div>
                    <div class="form-group form-group3">
                        <label>E-mail</label>
                        <input type="text" name="email" class="email required">
                    </div>
                    <a href="#" class="submit ORDER1">Получить доступ</a>
                    <p>Мы гарантируем  конфиденциальность ваших  данных</p>
                </div>
              </form>
            </div>

2

Re: Поможіть, приходить пуста форма обратного звязку

напишіть повідомленя хоча б на 95% українською, бо зараз в ньому більше якоїсь незрозумілої мови, а за таке тут банять

Подякували: koala1

3 Востаннє редагувалося /KIT\ (08.07.2021 13:43:50)

Re: Поможіть, приходить пуста форма обратного звязку

Як я пойняв, то filter_input(INPUT_POST,'email', FILTER_VALIDATE_EMAIL) повертає true/false, не рядок; те ж саме з $name та $phone

4

Re: Поможіть, приходить пуста форма обратного звязку

/KIT\ написав:

Як я пойняв, то filter_input(INPUT_POST,'email', FILTER_VALIDATE_EMAIL) повертає true/false, не рядок; те ж саме з $name та $phone

Не вгадали: php.net/manual/function.filter-input.php

Автору: що в message.txt? І що значить "лист пустий"? Якщо він пустий, але прийшов, то це проблема в поштовому клієнті (чи антивірусі тощо), а не в коді. І гляньте вимоги до параметрів php.net/manual/function.mail.php

Подякували: /KIT\, flatliner2

5

Re: Поможіть, приходить пуста форма обратного звязку

А який сенс ліпити отакі конструкції "$somevar"? Чому просто не вказати змінну, як аргумент?

6 Востаннє редагувалося Faraon (12.02.2018 14:20:59)

Re: Поможіть, приходить пуста форма обратного звязку

Скопіював Ваш код в один файл і в мене все працює. Листи приходять з даними які ввів у форму.

<?php

if(isset($_POST['phone']))
{

    // ----------------------------конфигурация-------------------------- // 
    $adminemail="******";  // e-mail админа
    $date=date("d.m.y"); // число.месяц.год
    $time=date("H:i"); // часы:минуты:секунды
    $backurl="http://interos.s-host.net";  // На какую страничку переходит после отправки письма
    //---------------------------------------------------------------------- //
    $name = filter_input(INPUT_POST,'name');
    $phone = filter_input(INPUT_POST,'phone');
    $email = filter_input(INPUT_POST,'email', FILTER_VALIDATE_EMAIL);
    if ( $email === false ){
    // не валидный емейл
    }
    {
    echo
    "<center>Вернитесь <a
    href='javascript:history.back(1)'><B>назад</B></a>. Вы
    указали неверные данные!";
    }
    {
    $msg="
    <p>Имя:$name</p>
    <p>Телефон:$phone</p>
    <p>E-mail:$email</p>
    ";
    // Отправляем письмо админу
    mail("$adminemail","$date $time Сообщение
    от $name", "$msg");
    // Сохраняем в базу данных
    $f = fopen("message.txt", "a+");
    fwrite($f," \n $date $time Сообщение от $name");
    fwrite($f,"\n $msg ");
    fwrite($f,"\n ---------------");
    fclose($f);
    }
}
?>

<div class="form">
              <form method= "POST"> 
                <div class="form-heading">
                    <h6>Получите доступ </h6>
                    <p>к оптовым ценам <span>+ скидку до 25 000 грн</span>. на заказ</p>
                </div>
                <div class="form-content">
                    <div class="form-group form-group1">
                        <label>Имя</label>
                        <input type="text" name="name" class="name required">
                    </div>
                    <div class="form-group form-group2">
                        <label>Телефон</label>
                        <input type="text" name="phone" class="phone required">
                    </div>
                    <div class="form-group form-group3">
                        <label>E-mail</label>
                        <input type="text" name="email" class="email required">
                    </div>
                    <input type="submit" value='send'>
                    <p>Мы гарантируем  конфиденциальность ваших  данных</p>
                </div>
              </form>
            </div>
Подякували: flatliner, yarluk072

7

Re: Поможіть, приходить пуста форма обратного звязку

Вместо

<a href="#" class="submit ORDER1">Получить доступ</a>
нужно

<input type="submit" value="Получить доступ"/>

8

Re: Поможіть, приходить пуста форма обратного звязку

yarluk07 Попередження, пишіть українською.

9

Re: Поможіть, приходить пуста форма обратного звязку

хлопці і дівчата -- надворі 2018-й рік уже

вивчайте js, користуйтесь вебсокетами
на ці ваші <form>...<input type="submit" дивитись боляче -- так наче на 10+ років у минуле потрапив

та і безпеки чуть більше, при користуванні більш сучаснішими інструментами

10 Востаннє редагувалося ostap34PHP (13.02.2018 18:30:10)

Re: Поможіть, приходить пуста форма обратного звязку

221VOLT написав:

хлопці і дівчата -- надворі 2018-й рік уже

вивчайте js, користуйтесь вебсокетами
на ці ваші <form>...<input type="submit" дивитись боляче -- так наче на 10+ років у минуле потрапив

та і безпеки чуть більше, при користуванні більш сучаснішими інструментами

Це ж початківці, в неті зараз багато уроків де роблять застарілими способами

Подякували: 221VOLT1