Загрузка...

I'll send it to kiwimarket for help

Thread in Backend created by lorellin Feb 10, 2021. 217 views

  1. lorellin
    lorellin Topic starter Feb 10, 2021 14 Dec 29, 2017
    Нужно сделать простую форму с отправкой данных на почту
    Чета я вроде все правильно делаю, но не работает
    Кто поможет разобраться - отблагодарю :da:
    Мб неправильно подключил пхп, хз кароче, не знаю(

    HTML
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>form</title>
    </head>
    <body>
    <h2>Заказать</h2>
    <form action="http://freestickers.ru/b0.php" name="f1">
    <input type="text" placeholder="Имя" name="name1" required="required"><br><br>
    <input type="text" placeholder="email" name="email1" required="required"><br><br>

    <textarea placeholder="text" name="text" required="required"></textarea><br><br>

    <input type="sumbit" value="zakaz" name="sab">

    </form>
    </body>
    </html>

    PHP

    <meta charset="utf-8">
    <?php
    $urok="Урок 22";
    error_reporting( E_ERROR ); //Отключение предупреждений и нотайсов (warning и notice) на сайте
    // создание переменных из полей формы
    if (isset($_POST['name1'])) {$name1 = $_POST['name1']; if ($name1 == '') {unset($name1);}}
    if (isset($_POST['email1'])) {$email1 = $_POST['email1']; if ($email1 == '') {unset($email1);}}
    if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset($text);}}
    if (isset($_POST['sab'])) {$sab = $_POST['sab']; if ($sab == '') {unset($sab);}}
    //стирание треугольных скобок из полей формы
    /* комментарий */
    if (isset($name1) ) {
    $name1=stripslashes($name1);
    $name1=htmlspecialchars($name1);
    }
    if (isset($email1) ) {
    $email1=stripslashes($email1);
    $email1=htmlspecialchars($email1);
    }
    if (isset($text) ) {
    $text=stripslashes($text);
    $text=htmlspecialchars($text);
    }
    // адрес почты куда придет письмо
    $address="тут моя почта :)";
    // текст письма
    $note_text="Тема : $urok \r\nИмя : $name1 \r\n Email : $email1 \r\n Дополнительная информация : $text";

    if (isset($name1) && isset ($sab) ) {
    mail($address,$urok,$note_text,"Content-type:text/plain; windows-1251");
    // сообщение после отправки формы

    echo "<p style='color:green;'>Уважаемый(ая) <b style='color:red;'>$name1</b> Ваше письмо отправленно успешно. <br> Спасибо. <br>Вам скоро ответят на почту <b style='color:red;'> $email1</b>.</p>";
    }

    ?>
     
  2. your_cute_daddy
    Лучше конечно через SMTP с использованием PHPMailer это все проворачивать
     
  3. x97f
    x97f Feb 12, 2021 52 Jan 28, 2020
    Точно вижу тут ошибку:
    Code
    <form action="http://freestickers.ru/b0.php" name="f1">
    ---------->
    <form action="http://freestickers.ru/b0.php" method="post" name="f1">
    The post was merged to previous Feb 12, 2021
    [IMG]
    The post was merged to previous Feb 12, 2021
    Код:
    PHP
    <?php
    error_reporting( E_ERROR );

    $iConfig = array(
    "lesson" => "Урок 22",
    "email" => "" // почта
    );

    if( isset( $_POST[ "sab" ] ) && !empty( $_POST[ "sab" ] ) )
    {
    foreach( array( "name1", "email1", "text" ) as $szKey )
    if( !array_key_exists( $szKey, $_POST ) || !isset( $_POST[ $szKey ] ) || empty( $_POST[ $szKey ] ) )
    exit( "Заполните все поля" );

    $_POST[ "name1" ] = htmlspecialchars( stripslashes( trim( $_POST[ "name1" ] ) ) );
    $_POST[ "email1" ] = htmlspecialchars( stripslashes( trim( $_POST[ "email1" ] ) ) );
    $_POST[ "text" ] = htmlspecialchars( stripslashes( trim( $_POST[ "text" ] ) ) );

    if( !filter_var( $_POST[ "email1" ], FILTER_VALIDATE_EMAIL ) )
    exit( "Почта некорректная" );

    $szMessage = "";
    $szMessage .= "Тема: " . $iConfig[ "lesson" ];
    $szMessage .= "\r\n";
    $szMessage .= "Имя: " . $_POST[ "name1" ];
    $szMessage .= "\r\n";
    $szMessage .= "Email: " . $_POST[ "email1" ];
    $szMessage .= "\r\n";
    $szMessage .= "Дополнительная информация: " . $_POST[ "text" ];

    if( mail( $iConfig[ "email" ], $iConfig[ "lesson" ], $szMessage ) )
    exit( "Письмо успешно отправлено!" );
    else
    exit( "Произошла ошибка" );
    }
    else
    exit( "Форма не найдена" );
     
Top
Loading...