Помогите разобраться с формой обратной связи

(Ответов: 8, Просмотров: 1281)
  1. Студент Аватар для forestdc
    • Регистрация: 13.03.2012
    • Сообщений: 62
    • Репутация: 3
    • Webmoney BL: ?
    Всем привет:)
    На главной странице сайта нужно разместить открытую форму обратной связи,чтобы посетитель мог быстро,и без перезагрузки отправить свои данные на почту администратора
    Вот пример:
    Нажмите на изображение для увеличения.  Название:	obratnaya-forma.jpg  Просмотров:	14  Размер:	60.2 Кб  ID:	12164
    Вообщем погуглил и нашел один подходящий скрипт,поместил его в html файл,сама форма открывается,но данные на почту не приходят,и еще над самой формой отображается часть php,сам в php не селен поэтому не могу разобраться в чем проблема.
    Нажмите на изображение для увеличения.  Название:	forma2.jpg  Просмотров:	10  Размер:	52.3 Кб  ID:	12165
    Вот тот самый код
    PHP код:
    <?php 

        
    #### Stroke
        ##### следующий код получает данные и высылает их на почту, указанную в парметре $admin_mail
        ##### параметр $mail_template - оформление письма
        ##### параметр $mail_subject - заголовок письма
        
    $admin_mail "strokeru@gmail.com";
        
    $mail_subject "Новая заявка на сайте";
        
    $mail_template 
            
    "Поступила новая заявка на сайте. Пользователь указал следующие данные\r\n".
            
    "Имя: {%name%}\r\n".
            
    "Почтовый ящик: {%email%}\r\n".
            
    "Телефон: {%phone%}\r\n".
            
    "Время отправления : {%send_time%}\r\n";
        if( isset( 
    $_POST['name'] ) ){
            
    $replace_array = array( "{%name%}" => htmlspecialchars$_POST['name'] ), 
                                    
    "{%email%}" => htmlspecialchars$_POST['email'] ),
                                    
    "{%phone%}" => htmlspecialchars$_POST['phone'] ),
                                    
    "{%send_time%}" => date("d.m в H:i"gmdate"U"time() ) ) );
            
    $mail_template strtr$mail_template$replace_array );
            
    mail$admin_mail$mail_subject$mail_template );
            exit( );
            
        }  
    ?>

    <!doctype html>
        <html lang="ru-RU">
        <head>
            <meta charset="UTF-8">
            <title>Обратная связь</title>

            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
            <script src="http://malsup.github.com/jquery.form.js"></script> 
            <script type="text/javascript">
                $(document).ready(function() {
                    $(".required_field").click(function() { 
                        $(".required_field").css("border", "#CCC 1px solid") ;
                    });
                    $("#send").click(function() { 
                        /* Проверяем наличие двух полей, имени и почтового ящика, если они пустые, то на этом все */
                        if( $('#name').val() == "" || $('#email').val() == "" ){
                            $('#name').css("border", "red 1px solid") ;
                            $('#email').css("border", "red 1px solid")
                        } 
                        else{
                            $.ajax({
                                url: "<?=$_SERVER["SCRIPT_NAME"];?>",
                                type: "post",
                                data: $("#feedback_form").serialize(),
                                success: function(){
                                    $("#info_block").removeClass("error_block");
                                    $("#info_block").html('Сообщение отправлено. ');
                                    $("#feedback_form").fadeOut( 1200 );
                                    $("#info_block").fadeIn( 900 );
                                },
                                error:function(){
                                    $("#info_block").addClass("error_block");
                                    $("#info_block").html('Какая-то ошибка. ');
                                    $("#info_block").fadeIn( 500 );
                                    return false;
                                }
                            });
                        }
                    });     
                }); 
                </script>
                <style type="text/css">
                .form_block input {
                    height: 30px;
                    width: 220px;
                    border: 1px solid #CCC;
                    padding: 4px;
                }
                .form_block input[type="button"]{
                    padding: 10px;
                    width: 232px;
                    height: 40px;
                    background-color: #3774A4;
                    color: #FFF;
                    cursor: pointer;
                }
                .info_block{
                    display:none;
                    padding: 10px;
                    width: 212px;
                    border: 1px solid #000;
                    background-color: #f6f6f6; 
                }
                .error_block{
                    border: 1px solid red;
                }
                </style>
            </head>
            <body>
                <div style="padding:10px;" class="form_block">
                    <div id="info_block" class="info_block"></div>
                    <form  id="feedback_form">
                    <p><input type="text" class="required_field" name="name" id="name" placeholder="Ваше имя" /></p>
                    <p><input type="text" class="required_field" name="email" id="email" placeholder="E-mail" /></p>
                    <p><input type="text" name="phone" id="phone" placeholder="Телефон" /></p>
                    <p><input type="button" name="send" id="send" value="Отправить" /></p>
                    </form>
                </div>
            </body>
        </html>
    Подскажите пожалуйста в чем проблема,или может есть какая нибудь альтернатива
    Последний раз редактировалось forestdc; 01.11.2013 в 10:50.
    • 0
  2. Студент Аватар для Sky-R
    • Регистрация: 25.03.2013
    • Сообщений: 82
    • Репутация: 21
    • Webmoney BL: ?
    Могу посоветовать альтернативу:
    http://webliberty.ru/forma-obratnoy-...-bez-plaginov/

    Сам ставил пару дней назад её, всё работает.
    • 1

    Спасибо сказали:

    proGoodWin(01.11.2013),
  3. Banned
    • Регистрация: 12.03.2010
    • Сообщений: 65
    • Репутация: 14
    Что за движок? Если PHP не настроен, он вообще обрабатываться не будет, вот и выводиться снизу.
    • 0
  4. Студент Аватар для forestdc
    • Регистрация: 13.03.2012
    • Сообщений: 62
    • Репутация: 3
    • Webmoney BL: ?
    Цитата Сообщение от Globitex Посмотреть сообщение
    Что за движок? Если PHP не настроен, он вообще обрабатываться не будет, вот и выводиться снизу.
    Движка нет,на чистом html тестировал

    ---------- Сообщение добавлено 10:37 ---------- Предыдущее 10:30 ----------

    Цитата Сообщение от Sky-R Посмотреть сообщение
    Могу посоветовать альтернативу:
    http://webliberty.ru/forma-obratnoy-...-bez-plaginov/

    Сам ставил пару дней назад её, всё работает.
    Спасибо что подсказали,но это не совсем подходит,форму нужно зафиксировать в сайдбаре на главной,сама форма должна состоять из трех полей Имя Почта Номер телефона,и после клика по кнопке отправить страница не должна перезагружаться
    Последний раз редактировалось forestdc; 01.11.2013 в 11:46.
    • 0
  5. Дипломник
    • Регистрация: 06.06.2011
    • Сообщений: 105
    • Репутация: 11
    forestdc,
    Цитата Сообщение от forestdc Посмотреть сообщение
    Движка нет,на чистом html тестировал
    php на чистом html не работает
    подключайте php!
    • 0
  6. Дипломник Аватар для proGoodWin
    • Регистрация: 04.09.2013
    • Сообщений: 128
    • Репутация: 15
    • Webmoney BL: ?
    Почти все плагины отправляют формы без перезагрузки страницы с помощью ajax и jquery.
    Подскажите как такую создать?
    • 0
  7. Студент Аватар для Sky-R
    • Регистрация: 25.03.2013
    • Сообщений: 82
    • Репутация: 21
    • Webmoney BL: ?
    forestdc, вот здесь посмотри урок - _http://www.codeharmony.ru/materials/18 . Вроде там всё достаточно хорошо объясняют. Без перезагрузки страницы форма работает, настраивается. Всё равно идеально подходящую не найти, нужно будет что-то самому допиливать под себя.
    • 0
  8. Дипломник
    • Регистрация: 06.06.2011
    • Сообщений: 105
    • Репутация: 11
    proGoodWin,
    Цитата Сообщение от proGoodWin Посмотреть сообщение
    Почти все плагины отправляют формы без перезагрузки страницы с помощью ajax и jquery.
    отправить на сервер можно, но на сервере обработка происходит при помощи php (или другого языка), без этого ни как
    • 0
  9. Студент
    • Регистрация: 25.10.2013
    • Сообщений: 62
    • Репутация: 11
    forestdc, вообще говоря, чтобы почта отправлялась. ее кто-то должен отправить. Этот "кто-то" называется SMTP-сервер. Чтобы отправка стала возможной, нужно как-то указать адрес сервера, который будет отправлять почту, логин и пароль к нему - примерно так же, как это происходит при настройке почтового клиента.

    В движках вроде Joomla предусмотрена возможность явно настроить SMTP в админке. Вы же используете стандартную функцию mail языка PHP. Это не значит, что PHP каким-то чудом обходится без SMTP-сервера, это просто значит, что используются настройки из файла php.ini. Обычно у нормального хостера этот файл нормальной настроен и позволяет отправлять почту (обычно через SMTP-сервер самого хостера). На локальном же компьютере приходится настраивать самостоятельно. Чаще всего в php.ini указывается (в разделе [mail function]), что для отправки почты следует использовать некоторую внешнюю программу, обычно sendmail, а уже в конфигурационных файлах этой программы указывается, какой SMTP сервер применять и от имени какого пользователя. Все это, естественно, описано в множестве статей.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Не могу разобраться с формой авторизации
DLE 5 23.08.2013 15:25
помогите накидать грамотный сценарий обработки форм обратной связи
Web программирование 2 28.01.2013 19:06
Форма обратной связи на WP
Web программирование 4 15.08.2011 14:06
Форма обратной связи на WP
Вопросы от новичков 2 15.08.2011 01:32
Форма обратной связи
Web программирование 13 28.07.2011 12:19

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры