Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] форма обратной связи на php и ajax

Ответить
Настройки темы
[решено] форма обратной связи на php и ajax

Аватара для Ximi

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Ximi
Дата: 16-05-2019
Здравствуйте, может кто нибудь написать mail.php для этого скрипта?
script.js
PHP код: Выделить весь код

$(function() {
    $(
'#square').keyup(function(){
        var 
square = $(this).val();
        $(
'#price').val(square*1100)
    });
    $(
'#price').keyup(function(){
        var 
price = $(this).val();
        $(
'#square').val((price/1100).toFixed(2))
    });

    $(
'.ask-blocks .item h4').click(function(){
        var 
thisH4 = $(this),
            
thisSpan = $('div', $(this).parent()),
            
outherH4 = $('.ask-blocks .item h4').not(thisH4),
            
outherSpan = $('.ask-blocks .item div').not(thisSpan);
        
outherH4.removeClass('active');
        
outherSpan.hide().removeClass('active');
        
thisH4.toggleClass('active');
        
thisSpan.fadeToggle().toggleClass('active');
    });
    
ymaps.ready(init);
    var 
myMap
        
myPlacemark;

    function 
init(){ 
        if( ($(
window).width() <= 767)  ) {
            
myMap = new ymaps.Map("map", {
                    
center: [55.7539940037.62209300],
                    
zoom8
                
}); 
        } else {
            
myMap = new ymaps.Map("map", {
                
center: [55.7539940037.62209300],
                
zoom8
            
});             
        }

        
myPlacemark = new ymaps.Placemark([55.7539940037.62209300], {
            
hintContent'Алматы',
            
balloonContent'г. Алматы, пр. Достык, д. 291/3'
        
});
        
myMap.geoObjects.add(myPlacemark);
    }
    $(
'.up').click(function(e){
        
e.preventDefault();
        $(
'html,body').animate({
          
scrollTop0
        
}, 1000);
    });
    $(
"input.tel").click(function(){
        $(
this).val('+7');
    });
    $(
window).scroll(function() {
        var 
pos 86;
        if( ($(
window).width() <= 1199) || ($(window).width() >= 768) ) {
            
pos 150;
        }
        if( ($(
window).width() <= 767) || ($(window).width() >= 576) ) {
            
pos 150;
        }
        if($(
window).width() <= 575) {
            
pos 290;
        }

        if($(
this).scrollTop() >= pos) {
            $(
'nav').addClass('stickytop');
        }
        else{
            $(
'nav').removeClass('stickytop');
        }
    });
    $(
'.smoothScroll').click(function(event) {
        
event.preventDefault();
        var 
href=$(this).attr('href');
        var 
target=$(href);
        var 
top=target.offset().top;
        $(
'html,body').animate({
          
scrollToptop
        
}, 1000);
    });

    $(
'.modal').on('hidden.bs.modal', function (e) {
      $(
'input:not(.type)', $(this)).val('');
    });
    $(
'form').submit(function(e){
        
e.preventDefault();
        var 
form_data = {
            
'name':$(".name", $(this)).val(),
            
'tel':$(".tel", $(this)).val(),
            
'price':$("#price", $(this)).val(),
            
'square':$("#square", $(this)).val(),
            
'type':$(".type", $(this)).val()
        };
        $.
ajax({
          
type"POST",
          
url"mail.php",
          
dataform_data,
          
success: function(){
            $(
'.modal').modal('hide');
            
setTimeout(function() {
                $(
'.success').fadeToggle();
            }, 
1000);
            
setTimeout(function() {
                $(
'.success').fadeToggle();
            }, 
2500);
          },
          
error: function() {
              
alert("Произошла какая то ошибка!");
          }
        }); 
    });
    new 
WOW().init();
}); 


Отправлено: 16:32, 16-05-2019

 

Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Есть куча типовых скриптов под эти цели. Ключевые слова "php post mail"
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:25, 17-05-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Ximi

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, посмотрю

Отправлено: 16:08, 17-05-2019 | #3


Аватара для Ximi

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Sham, все получилось, спасибо. Но 1 вопрос остался) из поля .name. кирилицу присылает иероглифами, куда рыть не подскажите?)

// Или это как-то связанно с модулем sendmail на wamp? Я проверял так.

Скрытый текст
PHP код: Выделить весь код

<?php
$name 
$_POST['name'];
$tel $_POST['tel'];
$price $_POST['price'];
$square $_POST['square'];
$type $_POST['type'];
if (
mail("XXX@gmail.com""Заявка с сайта""Имя:".$name" . Телефон: ".$tel" Цена: ".$price" Площадь: " .$square" Тип заявки: ".$type ,"From: wa6@gmail.com \r\n"))
 {     echo 
"сообщение успешно отправлено"
} else { 
    echo 
"при отправке сообщения возникли ошибки";
}
?>


Последний раз редактировалось Ximi, 17-05-2019 в 18:00.


Отправлено: 17:51, 17-05-2019 | #4


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


1. Переменные извне нужно проверять хотя бы на размер и правильность, отсутствие лишних \r\n.
2. utf-8 в открытом виде вставлять нельзя. Текст разбивается побайтово, а символы многобайтовые. Ищите примеры с Content-Transfer-Encoding, либо перекодируйте в cp1251 (iconv() etc.). Кодировка php-файла тоже имеет значение.
3. echo там не требуется. Чтобы сработало событие error у клиента, ему нужно отправить в случае ошибки не-200 (503 к примеру) http_response_code(503)
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:04, 17-05-2019 | #5


Аватара для Ximi

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Sham,
Цитата Sham:
Кодировка php-файла тоже имеет значение. »
Начал с этого пункта, преобразовал php в utf-8, и появилась кириллица. Спасибо! ... эхо убрал)

Последний раз редактировалось Ximi, 17-05-2019 в 23:42.


Отправлено: 23:21, 17-05-2019 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] форма обратной связи на php и ajax

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Форма обратной связи отпраляет сообщение со второго раза svp Вебмастеру 1 28-02-2017 13:27
Валидация формы обратной связи nikoas Вебмастеру 2 04-09-2014 03:21
[решено] Нужен скрипт для обратной связи на сайте dr-organizer Вебмастеру 4 23-08-2012 10:47
Форма обратной связи lora.1 Вебмастеру 0 21-05-2012 17:25
форма обратной связи cms dle Rubichek Вебмастеру 1 20-12-2011 22:57




 
Переход