За последние 24 часа нас посетили 20823 программиста и 1123 робота. Сейчас ищут 360 программистов ...

mail.php и success.html

Тема в разделе "Работа с почтой", создана пользователем Nickolay, 26 ноя 2018.

  1. Nickolay

    Nickolay Новичок

    С нами с:
    26 ноя 2018
    Сообщения:
    4
    Симпатии:
    0
    Добрый день, уважаемы программисты!
    В программировании я полный ноль. Поэтому обращаюсь к вам с просьбой ткнуть носом где и что дописать в двух файлах: mail.php и script.js
    По утверждению автора этих файлов, после отправки письма через форму обратной связи, вот по этой инструкции https://mobiriz.store/help-12.html, я должен попадать на страницу success.html
    Письмо отправляется, на почту приходит, но я попадаю на страницу mail.php , и висю там, как висюлька волшебная (((
    Я так понимаю, надо в mail.php прописать редирект с mail.php на success.html
    Подскажите, люди добрые, как это прописать.. Буду очень признателен.
    Техподдержка mobirise на письма не отвечает. Вся надежда на ваш богатый опыт)
    Заранее благодарен!

    Вот файл mail.php

    <?php

    $method = $_SERVER['REQUEST_METHOD'];

    //Script Foreach
    $c = true;
    if ( $method === 'POST' ) {

    $project_name = trim($_POST["project_name"]);
    $admin_email = trim($_POST["admin_email"]);
    $form_subject = trim($_POST["form_subject"]);

    foreach ( $_POST as $key => $value ) {
    if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
    $message .= "
    " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
    <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
    <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
    </tr>
    ";
    }
    }
    } else if ( $method === 'GET' ) {

    $project_name = trim($_GET["project_name"]);
    $admin_email = trim($_GET["admin_email"]);
    $form_subject = trim($_GET["form_subject"]);

    foreach ( $_GET as $key => $value ) {
    if ( $value != "" && $key != "project_name" && $key != "admin_email" && $key != "form_subject" ) {
    $message .= "
    " . ( ($c = !$c) ? '<tr>':'<tr style="background-color: #f8f8f8;">' ) . "
    <td style='padding: 10px; border: #e9e9e9 1px solid;'><b>$key</b></td>
    <td style='padding: 10px; border: #e9e9e9 1px solid;'>$value</td>
    </tr>
    ";
    }
    }
    }

    $message = "<table style='width: 100%;'>$message</table>";

    function adopt($text) {
    return '=?UTF-8?B?'.Base64_encode($text).'?=';
    }

    $headers = "MIME-Version: 1.0" . PHP_EOL .
    "Content-Type: text/html; charset=utf-8" . PHP_EOL .
    'From: '.adopt($project_name).' <'.$admin_email.'>' . PHP_EOL .
    'Reply-To: '.$admin_email.'' . PHP_EOL;

    mail($admin_email, adopt($form_subject), $message, $headers );

    Вот файл script.js

    $(document).ready(function() {

    //E-mail Ajax Send
    $("form").submit(function() { //Change
    var th = $(this);
    $.ajax({
    type: "POST",
    url: "mail.php", //Change
    data: th.serialize()
    }).done(function() {
    document.getElementById('box').style.display = 'block';
    setTimeout(function() {
    // Done Functions
    th.trigger("reset");
    document.getElementById('box').style.display = 'none';
    }, 5000);
    });
    return false;
    });
    });
     
  2. MRSgiba

    MRSgiba Активный пользователь

    С нами с:
    22 дек 2017
    Сообщения:
    200
    Симпатии:
    32
    @Nickolay обрамляйте код </>, в вархиве предложенном вашими Мобиризе нет файла success.html, ни в js-скрипте предложенном вами ни в php нет никакого упоминания о нем. Создайте файл и попробуйте запустить, если ничего не произойдет, то нужно добавить строчку в скрипт будет
     
  3. Nickolay

    Nickolay Новичок

    С нами с:
    26 ноя 2018
    Сообщения:
    4
    Симпатии:
    0
    Добрый день, благодарю за ответ. Пустой файл success.html я создавал. Закидывал в папку с mail.php и js-скриптом. Ничего не получается. Разработчики не только не дописали код, но и как вы заметили, забыли прикрепить к архиву файл success.html. Ни в первом, ни во втором архиве из инструкции, файла success.html нет. Я написал им об этом, они отмалчиваются, как рыбы об лёд.

    Файл success.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <title>WICart</title>
    <meta name="viewport" content="width=360, initial-scale=1, maximum-scale=1, user-scalable=no" />
    <link rel="stylesheet" href="assets/wicart/style.css">
    <link rel="stylesheet" href="assets/wicart/wicart.css" />


    </head>
    <body>
    <div class="message">
    <div>Ваше письмо отправлено</div>
    <br/><br/><br/>
    <div><a href="index.html">Вернуться</a></div>
    </div>

    </body>



    </html>
     
  4. MRSgiba

    MRSgiba Активный пользователь

    С нами с:
    22 дек 2017
    Сообщения:
    200
    Симпатии:
    32
    Вместо
    Код (Javascript):
    1. .done(function() {
    2. document.getElementById('box').style.display = 'block';
    3. setTimeout(function() {
    4. // Done Functions
    5. th.trigger("reset");
    6. document.getElementById('box').style.display = 'none';
    7. }, 5000);
    8. });
    Вставте
    Код (Javascript):
    1. .done(function() {
    2. window.location.replace("./success.html");
    3. });
    Нажмите ctrl-F5, и отправте расскажите что произошло
    --- Добавлено ---
    @Nickolay Если сайт выложен в сеть, киньте в личку ссылку посмотрю как время будет
     
  5. Nickolay

    Nickolay Новичок

    С нами с:
    26 ноя 2018
    Сообщения:
    4
    Симпатии:
    0
    Ничего не произошло, снова открылась страница mail.php. Сайт в сеть пока не выложен. Могу скинуть локальные файлы через файлообменник. Или воспользоваться open server, как скачается.
     
  6. MRSgiba

    MRSgiba Активный пользователь

    С нами с:
    22 дек 2017
    Сообщения:
    200
    Симпатии:
    32
    @Nickolay А вы сайт в каком браузере открываете???
     
  7. Nickolay

    Nickolay Новичок

    С нами с:
    26 ноя 2018
    Сообщения:
    4
    Симпатии:
    0
    В опере открываю.
     
  8. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @Nickolay Мне кажется инструкция липа. Они там пишут
    но в архиве этого файла нет, и в коде обращения к нему нет, создавать его смысла нет.

    И кстати зачем вам этот фаил если смска отправляется, для чего он был нужен?
     
  9. MRSgiba

    MRSgiba Активный пользователь

    С нами с:
    22 дек 2017
    Сообщения:
    200
    Симпатии:
    32
    Ну я бы так не стал утверждать не зная что этот МОБИРИЗ там генерит и как это он там генерит.
    @Nickolay выложите исходники, нагенеренные этим чудом, посмотрю
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    @Nickolay, если предполагается использование AJAX, а вы наблюдаете в браузере переход на обработчик, значит, AJAX по каким-то причинам не срабатывает или вас клиентский скрипт редиректит по адресу обработчика. Как выше написали, при использовании AJAX редирект должен быть не серверный в mail.php, а клиентский осуществляемый скриптом, связанным с формой, с AJAX-отправкой и т.п. Также можно организовать двойственное поведение. Есть поддержка AJAX? – отправляем AJAX'ом, иначе обычным способом.
     
    MRSgiba нравится это.