Форма обратной связи - [2] :: Web-программирование :: Компьютерный форум Ru.Board
Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Форма обратной связи

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lamer_7

Цитата:
как сделать чтоб в высланом емейл вводимые даные в нужном поле зразу преобретали *

подробнее..
 

Цитата:
как сделать в самом емейл была кнопка отправить нажав на которую письмо сразу отправлялось на заданый мейл

какое письмо в письме??

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:15 20-01-2013
alextg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 Может вы еще заметили какие-нибудь ошибки или что-то лишнее?  

Если бы вы убрали @ перед $_REQUEST то ошибка бы вылезла сразу. Я бы вообще рекомендовал забыть про этот символ, подавлять вывод ошибок на боевом сервере можно с помощью директив php а в данном случае - попытка рисовать с завязанными глазами

Всего записей: 1 | Зарегистр. 23-06-2007 | Отправлено: 23:40 20-01-2013
Maister

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ДрУги! Спецы!
Подскажите, плиз, такую веСЧ! Бьюсь уже неделю (даже больше), но, что-то не уловлю никак - где решается проблема...
В шаблоне форма. Шаблон - бутстраповский. Вернее - формы 2, на разных страницах. Но, как мне кажется - они - одинаковые. Но, что-то не работают!... Уже перечитал кучу всего, но пока - никак не найду, где проблема...
Вот код:
 
Сами формы (из шаблона):
1-я -  

Код:
<div class="col-lg-8 col-md-8 col-sm-8 address">
                        <h2>Contact Form</h2>
                        <form id="contact-form" class="contact-form">
                          <div class="success"> Contact form submitted! <strong>We will be in touch soon.</strong> </div>
                          <fieldset>
                            <div class="coll-1">
                              <div class="txt-form">Name<span>*</span></div>
                              <label class="name">
                                <input type="text" value="Name*:"><br>
                                <span class="error">*This is not a valid name.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="coll-2">
                              <div class="txt-form">Email<span>:</span></div>
                              <label class="email">
                                <input type="email" value="E-mail*:"><br>
                                <span class="error">*This is not a valid email address.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="coll-3">
                              <div class="txt-form">phone:</div>
                              <label class="phone notRequired">
                                <input type="tel" value="Phone:"><br>
                                <span class="error">*This is not a valid phone number.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="clear"></div>
                            <div>
                              <div class="txt-form">Comment<span>*</span></div>
                              <label class="message">
                                <textarea>Message*:</textarea><br>
                                <span class="error">*The message is too short.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="clear"></div>
                          </fieldset>
                          <div class="buttons-wrapper clearfix"><a href="#" class="btn-link btn-link2" data-type="submit">submit<span></span></a><strong>*REQUIRED FIELDS</strong></div>
                        </form>
                    </div>
 
2-я:

Код:
<form id="contact-form2" class="reservation-form">
                          <div class="success">Reservation form submitted! <strong>We will be in touch soon.</strong> </div>
                          <fieldset>
                            <div class="coll-1">
                              <div class="txt-form">Name<span></span></div>
                              <label class="name">
                                <input type="text" value="Name:"><br>
                                <span class="error">*This is not a valid name.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="coll-2">
                              <div class="txt-form">Email<span>:</span></div>
                              <label class="email">
                                <input type="email" value="E-mail:"><br>
                                <span class="error">*This is not a valid email address.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="coll-3">
                              <div class="txt-form">phone:</div>
                              <label class="arrival notRequired">
                                <input type="tel" value="Phone:"><br>
                                <span class="error">*This is not a valid phone number.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="coll-4">
                              <div class="txt-form">phone:</div>
                              <label class="Length of stay notRequired">
                                <input type="tel" value="Fax:"><br>
                                <span class="error">*This is not a valid phone number.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="clear"></div>
                            <div>
                              <div class="txt-form">Comment<span>*</span></div>
                              <label class="message">
                                <textarea>Comments:</textarea><br>
                                <span class="error">*The message is too short.</span> <span class="empty">*This field is required.</span> </label>
                            </div>
                            <div class="clear"></div>
                          </fieldset>
                          <div class="buttons-wrapper clearfix"><a href="#" class="btn-link btn-link2" data-type="submit">send<span></span></a><a href="#" class="btn-link btn-link2" data-type="reset">clear<span></span></a></div>
                        </form>

 
Скрипт:

Код:
//forms
;(function($){
    $.fn.forms=function(o){
        return this.each(function(){
            var th=$(this)
                ,_=th.data('forms')||{
                    errorCl:'error',
                    emptyCl:'empty',
                    invalidCl:'invalid',
                    notRequiredCl:'notRequired',
                    successCl:'success',
                    successShow:'4000',
                    mailHandlerURL:'bat/MailHandler.php',
                    ownerEmail:'своя_почта@домен.хх',
                    stripHTML:true,
                    smtpMailServer:'localhost',
                    targets:'input,textarea',
                    controls:'a[data-type=reset],a[data-type=submit]',
                    validate:true,
                    rx:{
                        ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
                        ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
                        ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},
                        ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
                        ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
                        ".message":{rx:/.{20}/,target:'textarea'}
                    },
                    preFu:function(){
                        _.labels.each(function(){
                            var label=$(this),
                                inp=$(_.targets,this),
                                defVal=inp.val(),
                                trueVal=(function(){
                                            var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
                                            return defVal==''?defVal:tmp
                                        })()
                            trueVal!=defVal
                                &&inp.val(defVal=trueVal||defVal)
                            label.data({defVal:defVal})                                
                            inp
                                .bind('focus',function(){
                                    inp.val()==defVal
                                        &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
                                })
                                .bind('blur',function(){
                                    _.validateFu(label)
                                    if(_.isEmpty(label))
                                        inp.val(defVal)
                                        ,_.hideErrorFu(label.removeClass(_.invalidCl))                                            
                                })
                                .bind('keyup',function(){
                                    label.hasClass(_.invalidCl)
                                        &&_.validateFu(label)
                                })
                            label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
                        })
                        _.success=$('.'+_.successCl,_.form).hide()
                    },
                    isRequired:function(el){                            
                        return !el.hasClass(_.notRequiredCl)
                    },
                    isValid:function(el){                            
                        var ret=true
                        $.each(_.rx,function(k,d){
                            if(el.is(k))
                                ret=d.rx.test(el.find(d.target).val())                                        
                        })
                        return ret                            
                    },
                    isEmpty:function(el){
                        var tmp
                        return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
                    },
                    validateFu:function(el){                            
                        el.each(function(){
                            var th=$(this)
                                ,req=_.isRequired(th)
                                ,empty=_.isEmpty(th)
                                ,valid=_.isValid(th)                                
                            
                            if(empty&&req)
                                _.showEmptyFu(th.addClass(_.invalidCl))
                            else
                                _.hideEmptyFu(th.removeClass(_.invalidCl))
                            
                            if(!empty)
                                if(valid)
                                    _.hideErrorFu(th.removeClass(_.invalidCl))
                                else
                                    _.showErrorFu(th.addClass(_.invalidCl))                                
                        })
                    },
                    getValFromLabel:function(label){
                        var val=$('input,textarea',label).val()
                            ,defVal=label.data('defVal')                                
                        return label.length?val==defVal?'nope':val:'nope'
                    }
                    ,submitFu:function(){
                        _.validateFu(_.labels)                            
                        if(!_.form.has('.'+_.invalidCl).length)
                            $.ajax({
                                type: "POST",
                                url:_.mailHandlerURL,
                                data:{
                                    name:_.getValFromLabel($('.name',_.form)),
                                    email:_.getValFromLabel($('.email',_.form)),
                                    phone:_.getValFromLabel($('.phone',_.form)),
                                    fax:_.getValFromLabel($('.fax',_.form)),
                                    state:_.getValFromLabel($('.state',_.form)),
                                    message:_.getValFromLabel($('.message',_.form)),
                                    owner_email:_.ownerEmail,
                                    stripHTML:_.stripHTML
                                },
                                success: function(){
                                    _.showFu()
                                }
                            })            
                    },
                    showFu:function(){
                        _.success.slideDown(function(){
                            setTimeout(function(){
                                _.success.slideUp()
                                _.form.trigger('reset')
                            },_.successShow)
                        })
                    },
                    controlsFu:function(){
                        $(_.controls,_.form).each(function(){
                            var th=$(this)
                            th
                                .bind('click',function(){
                                    _.form.trigger(th.data('type'))
                                    return false
                                })
                        })
                    },
                    showErrorFu:function(label){
                        label.find('.'+_.errorCl).slideDown()
                    },
                    hideErrorFu:function(label){
                        label.find('.'+_.errorCl).slideUp()
                    },
                    showEmptyFu:function(label){
                        label.find('.'+_.emptyCl).slideDown()
                        _.hideErrorFu(label)
                    },
                    hideEmptyFu:function(label){
                        label.find('.'+_.emptyCl).slideUp()
                    },
                    init:function(){
                        _.form=_.me                        
                        _.labels=$('label',_.form)
 
                        _.preFu()
                        
                        _.controlsFu()
                                                        
                        _.form
                            .bind('submit',function(){
                                if(_.validate)
                                    _.submitFu()
                                else
                                    _.form[0].submit()
                                return false
                            })
                            .bind('reset',function(){
                                _.labels.removeClass(_.invalidCl)                                    
                                _.labels.each(function(){
                                    var th=$(this)
                                    _.hideErrorFu(th)
                                    _.hideEmptyFu(th)
                                })
                            })
                        _.form.trigger('reset')
                    }
                }
            _.me||_.init(_.me=th.data({forms:_}))
            typeof o=='object'
                &&$.extend(_,o)
        })
    }
})(jQuery)
$(window).load(function(){
   $('#contact-form2').forms({
    ownerEmail:'#'
   })
   $('#contact-form').forms({
    ownerEmail:'#'
   })
})

 
MailHandler.php^

Код:
<?php
    $owner_email = $_POST["owner_email"];
    $headers = 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n";
    $subject = 'A message from your site visitor ' . $_POST["name"];
    $messageBody = "";
    
    if($_POST['name']!='nope'){
        $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['email']!='nope'){
        $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }else{
        $headers = '';
    }
    if($_POST['state']!='nope'){        
        $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['phone']!='nope'){        
        $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }    
    if($_POST['fax']!='nope'){        
        $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['message']!='nope'){
        $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
    }
    
    if($_POST["stripHTML"] == 'true'){
        $messageBody = strip_tags($messageBody);
    }
    
    try{
        if(!mail($owner_email, $subject, $messageBody, $headers)){
            throw new Exception('mail failed');
        }else{
            echo 'mail sent';
        }
    }catch(Exception $e){
        echo $e->getMessage() ."\n";
    }
?>

 
В формах
Код:
<input type="text" value="Name*:">
, ...value="Phone"... и "message" (value= в message нет вообще...) меняю соответственно на русский вариант - Имя, Телефон и Сообщение... - ...value="Имя*:">
 
В скрипте  

Код:
,submitFu:function(){
                        _.validateFu(_.labels)                            
                        if(!_.form.has('.'+_.invalidCl).length)
                            $.ajax({
                                type: "POST",
                                url:_.mailHandlerURL,
                                data:{
                                    name:_.getValFromLabel($('.name',_.form)),
                                    email:_.getValFromLabel($('.email',_.form)),
                                    phone:_.getValFromLabel($('.phone',_.form)),
                                    fax:_.getValFromLabel($('.fax',_.form)),
                                    state:_.getValFromLabel($('.state',_.form)),

                                    message:_.getValFromLabel($('.message',_.form)),
                                    owner_email:_.ownerEmail,
                                    stripHTML:_.stripHTML
                                },
                                success: function(){
                                    _.showFu()
                                }
                            })            
                    },
значения из соответствующих value, т.е. русское "Имя*:"... и т.д.,
 
указываю свою почту:

Код:
                            ...successShow:'4000',
                    mailHandlerURL:'bat/MailHandler.php',
                    ownerEmail:'своя_почта@домен.хх',
                    stripHTML:true, ...
.
И ещё:

Код:
...})(jQuery)
$(window).load(function(){
   $('#contact-form2').forms({
    ownerEmail:'своя_почта@домен.хх'
   })
   $('#contact-form').forms({
    ownerEmail:'своя_почта@домен.хх'
   })
})

 
Подскажите, пожалуйста, что не так, а то уже сломал моСК!
Спасибо!
 
 

Всего записей: 2095 | Зарегистр. 20-08-2007 | Отправлено: 07:17 23-09-2016 | Исправлено: Maister, 17:01 23-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maister
1) продублировали js код для php файла
2) что именно не работает?

Всего записей: 16256 | Зарегистр. 20-09-2014 | Отправлено: 07:20 23-09-2016
Maister

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Когда заполняешь правильно поля - жмёшь "отправить", но почта не приходит... Т.е. - просто - форму отправляешь, а почта не приходит...
 
MailHandler в сообщении выше - исправил - теперь именно он.

Всего записей: 2095 | Зарегистр. 20-08-2007 | Отправлено: 16:42 23-09-2016 | Исправлено: Maister, 17:02 23-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maister

Цитата:
Т.е. - просто - форму отправляешь, а почта не приходит


Цитата:
    try{  
        if(!mail($owner_email, $subject, $messageBody, $headers)){  
            throw new Exception('mail failed');  
        }else{  
            echo 'mail sent';  
        }  
    }catch(Exception $e){  
        echo $e->getMessage() ."\n";  
    }  

пишет, что отправлено? чему равны переменные функции? если тут все нормально, то может хостер запрещает отправлять почту.

Всего записей: 16256 | Зарегистр. 20-09-2014 | Отправлено: 20:01 23-09-2016
Maister

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пишет, что - отправлено. Если в англицком варианте оставить - родную, то - submitted. Но сообщений на почте нет.
Если вот поставить всё родное - все 2 файла и код почты - и поменять только owner_Email - вписать свой, то пишет - submitted, но сообщений на почте нет. Если при этом навести курсор на кнопку "submit", то в левом нижнем углу выводится такая вот ссылка:
http://rgho.st/8wPZw7rbv
Т.е. получается, что в форме (или в сопутствующих файлах - скрипте или майлере) - не прописано, куда отправлять?! Но ведь owner_Email прописан... Вот и ломается моСК!!!
Что это может быть?!
 

Цитата:
чему равны переменные функции?

Я не спец (а вернее - валенок...), поэтому "...Что ты мне -"Зюйд-зюйд-зюйд-вест"?! Ты мне пальцем, ПАЛЬЦЕМ покажи!"..." (с) - что Хде смотреть...

Всего записей: 2095 | Зарегистр. 20-08-2007 | Отправлено: 03:24 24-09-2016 | Исправлено: Maister, 03:29 24-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maister

Цитата:
Что ты мне -"Зюйд-зюйд-зюйд-вест"?! Ты мне пальцем, ПАЛЬЦЕМ покажи!"..." (с) - что Хде смотреть...
 

делаете
var_dump([$owner_email, $subject, $messageBody, $headers]);
и показываете, что выводит.

Всего записей: 16256 | Зарегистр. 20-09-2014 | Отправлено: 06:37 24-09-2016
Maister

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
"Делаете"... - Хде? В Майлере в этом кусочке?:

Код:
try{
        if(!mail($owner_email, $subject, $messageBody, $headers)){
            throw new Exception('mail failed');            
        }else{
            echo 'mail sent';
        }
    }catch(Exception $e){
        echo $e->getMessage() ."\n";
    }

Т.е. - куда эту строчку вставить
Код:
var_dump([$owner_email, $subject, $messageBody, $headers]);
?!
И потом - что где смотреть - откудЫВа - показать, что выводит? Где искать этот лог?
(извините, просто я ещё в HTML - хоть что-то понимаю, в CSS - капельку..., а вот JS и PHP - никак...

Всего записей: 2095 | Зарегистр. 20-08-2007 | Отправлено: 15:00 24-09-2016
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maister

Цитата:
Т.е. - куда эту строчку вставить

перед if c функцией mail.
выведет в браузер.

Всего записей: 16256 | Зарегистр. 20-09-2014 | Отправлено: 19:05 24-09-2016
Maister

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо огромное за поддержку!
Странно, ничего не менял... Нет, правда, переписал код в .js файле и в майлере на оригинальный и... почта пошла... (хотя он таким и был - я не спец и изначально ничего не менял...) А когда установил всё оригинальное сначала - никак почты не было... Странно...
В любом случае - ещё раз спасибо. Когда соберусь с духом и попробую вставить в формы отправку файлов и каптчи - надеюсь на Вашу помощь...
 
Всего доброго!

Всего записей: 2095 | Зарегистр. 20-08-2007 | Отправлено: 01:25 27-09-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » Web-программирование » Форма обратной связи


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru