Загрузка...

Скину на кивимаркет за помощь

Тема в разделе Backend создана пользователем lorellin 10 фев 2021. 210 просмотров

  1. lorellin
    lorellin Автор темы 10 фев 2021 14 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 12 фев 2021 52 28 янв 2020
    Точно вижу тут ошибку:
    Код
    <form action="http://freestickers.ru/b0.php" name="f1">
    ---------->
    <form action="http://freestickers.ru/b0.php" method="post" name="f1">
    --- Сообщение объединено с предыдущим 12 фев 2021
    [IMG]
    --- Сообщение объединено с предыдущим 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