Перейти к содержимому



Помогите с формой заказа - два поля и кнопка - не доходит до ящика

#1 shavedcat

shavedcat
  • Пользователь
  • 18 сообщений
  • Репутация: 0
0

Отправлено 13 Сентябрь 2014 - 18:00

Помогите пожалуйста с формой заказа.
Два поля (Имя, Телефон) и Submit (PHP)
Пишет что данные отправлены, но на ящик ничего не приходит.
Буду очень признателен.
Спасибо!

<form method="POST" id="feedback-form">
<p>ВАШЕ ИМЯ:</p>
<input type="text" name="nameFF" required placeholder="ваше имя" x-autocompletetype="name">
<p>ТЕЛЕФОН:</p>
<input type="text" name="contactFF" required placeholder="телефон" x-autocompletetype="phone">

<input type="submit" value="ЗАКАЗАТЬ">
</form>

 

<script>
document.getElementById('feedback-form').onsubmit = function(){
var http = new XMLHttpRequest();
http.open("POST", "contacts.php", true);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send("nameFF=" + this.nameFF.value + "&contactFF=" + this.contactFF.value);
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
alert(http.responseText + 'Ваше сообщение получено.');
}
}
http.onerror = function() {
alert('Извините, данные не были переданы');
}
return false;
}
</script>
<? 
if (array_key_exists('messageFF', $_POST)) {
  mail ("mail@mail.com",
        "заполнена контактная форма с ".$_SERVER['HTTP_REFERER'],
        "Имя: ".$_POST['nameFF']."\Телефон: ".$_POST['contactFF']);
  echo $_POST['nameFF'];
} 
?>

 

 

  • 0

#2 moving

moving
  • Пользователь
  • 420 сообщений
  • Репутация: 27

Отправлено 14 Сентябрь 2014 - 08:31

Не знаю зачем столько сложностей для простейшей формы, массивы и т.д., не проще обычную форму сделать, если интересно вот пример http://for-net.ru/view_post.php?id=26


  • 0

#3 RPoison

RPoison
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 15 Сентябрь 2014 - 18:40

и зачем тут javascript?


  • 0

#4 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 25 Сентябрь 2014 - 15:21

Чтобы форму отправить без перезагрузки страницы.


  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#5 Shurik666

Shurik666
  • Пользователь
  • 3 сообщений
  • Репутация: 0

Отправлено 25 Сентябрь 2014 - 17:11

Вот отличный пример того как правильно сделать форму обратной связи с загрузкой файлов на сервер.

 

В вашем случае php правильный html правильный а вот с js реально беда. Слишком усложнили все. Вот поменяй на это и будет работать.

//Получаем параметры
var nameFF = $(‘#nameFF’).val();
var nameFF = $(‘#nameFF’).val();
// Отсылаем паметры
$.ajax({
type: «POST»,
url: «/SendData.php»,
//Путь к файлу обработчику, который лежит в корне сайта.
data: "nameFF="+nameFF+"&nameFF="+nameFF,
// Выводим то что вернул PHP
success: function(html) {
//предварительно очищаем нужный элемент страницы
$(«#result»).empty();
//и выводим ответ php скрипта
$(«#result»).append(html);
}
});

И в html добавь пустой дивак с id="result".


  • 0

#6 owmen

owmen
  • Пользователь
  • 33 сообщений
  • Репутация: 4

Отправлено 14 Октябрь 2014 - 23:51

Вообще то нет action в форме, куда данные с формы отправляете?  Если на эту же страницу, то укажите action="" (пусто в кавычках) и будет все работать


  • 0

#7 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 15 Октябрь 2014 - 08:17


Вообще то нет action в форме


http.open("POST", "contacts.php", true);

Скриптом указывает куда отправить данные.


  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#8 owmen

owmen
  • Пользователь
  • 33 сообщений
  • Репутация: 4

Отправлено 15 Октябрь 2014 - 08:57

А разве эти два параметра метод и экшн не обязательны?


  • 1

#9 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 15 Октябрь 2014 - 09:14

Если скриптом отлавливать событие то не обязательны.

Потому что там же и указано куда отправлять данные (какой файл будет обрабатывать) и каким методом (гет или пост)


  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#10 owmen

owmen
  • Пользователь
  • 33 сообщений
  • Репутация: 4

Отправлено 15 Октябрь 2014 - 10:08

Спасибо за разъяснение! Жаль что репутацию можно только раз в неделю одному пользователю ставить. Так что пока ловите плюсик в устной форме:-) +++
 
P.S. Всегда думал что без этих двух параметров форма не будет работать или будет работать не корректно.


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru