X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Проблемы с простой формой обратной связи
antiblef
antiblef
Topic Starter сообщение 6.1.2011, 16:03; Ответить: antiblef
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 263
Регистрация: 22.10.2010
Поблагодарили: 44 раза
Репутация:   1  


Вообщем, мне нужно было создать большую форум обратной связи на один сайт, все вроде сделал, но при отправки всех введенных данных вылетает ошибка.
Форуму я сделал здесь: orimaster.ru/reg.php
Код формы:


<form method="POST" action="/sendmail.php">


<p>*Фамилия:</p>
<input name="sername">
<p>*Имя и Отчество:</p>
<input name="name">
<p>*Номер паспорта:</p>
<input name="passport">
<p>*Дата рождения (дд.мм.гггг):</p>
<input name="both">
<p>*Email:</p>
<input name="email">
<p>Область/регион:</p>
<input name="region">
<p>*Адрес проживания (ул/дом/кв):</p>
<input name="adress">
<p>*Город:</p>
<input name="city">
<p>*Индекс:</p>
<input name="index">
<p>Домашний телефон:</p>
<input name="hometel">
<p>*Мобильный телефон:</p>
<input name="mobtel">

<p><input type="submit" value=" Отправить "></p>
</form>


Обрабатывает отправку файл sendmail.php
Содержимое его:


<?
# получаем данные и отсекаем пробельные символы в начале и конце:
$sername = @ trim ($_POST['sername']);
$name = @ trim ($_POST['name']);
$passport = @ trim ($_POST['passport']);
$both = @ trim ($_POST['both']);
$email = @ trim ($_POST['email']);
$region = @ trim ($_POST['region']);
$adress = @ trim ($_POST['adress']);
$city = @ trim ($_POST['city']);
$index = @ trim ($_POST['index']);
$hometel = @ trim ($_POST['hometel']);
$mobtel = @ trim ($_POST['mobtel']);
# проверка, переданы ли все данные
if (! $sername or ! $name or ! $passport or ! $both or ! $email or ! $adress or ! $city or ! $index or ! $mobtel) exit ('<p style="color: red">Необходимо заполнить все поля с *, вернитесь</p>');

# отправка данных на мыло админу
mail ("antiblef@gmail.com",
      "Зарегистрировать (отправитель: $name)",
      "Фамилия: \n $sername" \n\n Имя и Отчество: \n $name" \n\n Номер паспорта: \n $passport" \n\n Дата рождения \n $both" \n\n Email: \n $email" \n\n Область/регион: \n $region" \n\n Адрес проживания: \n $adress" \n\n Город: \n $city" \n\n Индекс: \n $index" \n\n Домашний телефон: \n $hometel" \n\n Мобильный телефон: \n $mobtel");
header ("Location: /http://orimaster.ru/");
?>



Я думаю, что ошибка здесь:
"Фамилия: \n $sername" \n\n Имя и Отчество: \n $name" \n\n Номер паспорта: \n $passport" \n\n Дата рождения \n $both" \n\n Email: \n $email" \n\n Область/регион: \n $region" \n\n Адрес проживания: \n $adress" \n\n Город: \n $city" \n\n Индекс: \n $index" \n\n Домашний телефон: \n $hometel" \n\n Мобильный телефон: \n $mobtel");
header ("Location: /http://orimaster.ru/");


Буду очень благодарен, если мне помогут найти ошибку.
И еще один вопрос, можно ли чтобы сообщение о незаполненных полях выводилось на странице ввода, а не перенаправлялось на другую страницу?

Сообщение отредактировал antiblef - 6.1.2011, 16:04
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
G_Market
G_Market
сообщение 6.1.2011, 16:57; Ответить: G_Market
Сообщение #2


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 22.9.2010
Поблагодарили: 18 раз
Репутация:   5  


Я думаю, что ошибка здесь:


Вы совершенно правы.
Здесь масса лишних кавычек !

Уберите все двойные кавычки в строке
"Фамилия: \n $sername" \n\n Имя и Отчество: \n $name" \n\n Номер паспорта: \n $passport" \n\n Дата рождения \n $both" \n\n Email: \n $email" \n\n Область/регион: \n $region" \n\n Адрес проживания: \n $adress" \n\n Город: \n $city" \n\n Индекс: \n $index" \n\n Домашний телефон: \n $hometel" \n\n Мобильный телефон: \n $mobtel");


Оставьте только перед Фамилия... и после ...$mobtel


--------------------
Товары и цены в магазинах Вашего города: Городской рынок


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
antiblef
antiblef
Topic Starter сообщение 6.1.2011, 18:26; Ответить: antiblef
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 263
Регистрация: 22.10.2010
Поблагодарили: 44 раза
Репутация:   1  


(G_Market @ 6.1.2011, 15:57) *
Вы совершенно правы.
Здесь масса лишних кавычек !

Уберите все двойные кавычки в строке
"Фамилия: \n $sername" \n\n Имя и Отчество: \n $name" \n\n Номер паспорта: \n $passport" \n\n Дата рождения \n $both" \n\n Email: \n $email" \n\n Область/регион: \n $region" \n\n Адрес проживания: \n $adress" \n\n Город: \n $city" \n\n Индекс: \n $index" \n\n Домашний телефон: \n $hometel" \n\n Мобильный телефон: \n $mobtel");


Оставьте только перед Фамилия... и после ...$mobtel

Блин что-то я реально тупанул... Спасибо!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
G_Market
G_Market
сообщение 6.1.2011, 18:54; Ответить: G_Market
Сообщение #4


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 22.9.2010
Поблагодарили: 18 раз
Репутация:   5  


А чтобы не отправлялась форма с незаполненными полями, можно сделать проверку на JavaScript

например так

изменить код кнопки в форме

<p><input type="button" onclick='sendForm()' value=" Отправить "></p>


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

<script language="JavaScript">
<!--
function sendForm(){
var nF=document.forms[0].childNodes.length;
var t='';
for (var i = 0; i < nF; i++) {
  if (document.forms[0].childNodes[i].nodeName=='INPUT'){
    t=document.forms[0].childNodes[i-1].innerHTML;
    if(!t){
      t=document.forms[0].childNodes[i-2].innerHTML;
    }
    if(t.substring(0,1)=='*'){
      if(!document.forms[0].childNodes[i].value){
        alert('Поле "'+t+'" обязательно необходимо заполнить!')
        return;
      }
    }
  }
}
document.forms[0].submit();
}
// -->
</script>


Или использовать для отправки jQuery или что-то подобное
тогда можно даже делать проверку данных на стороне сервера, и страница с формой без необходимости не будет перегружаться.


--------------------
Товары и цены в магазинах Вашего города: Городской рынок
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Проблемы с merchant.webmoney.ru
4 deather 578 12.10.2017, 15:46
автор: phoenix_kys
Открытая тема (нет новых ответов) PageProtector - Простой инструмент для управления и фильтрации трафика
Инструмент для управления и фильтрации трафика
8 Intereska 2694 28.4.2017, 22:30
автор: Intereska
Открытая тема (нет новых ответов) Требуется доработка формы заказа/обратной связи
0 Dinamitt 610 22.2.2017, 22:02
автор: Dinamitt
Открытая тема (нет новых ответов) Проблемы с Kazapa
4 baracuda 1388 29.6.2015, 22:21
автор: baracuda
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПростой и стильный дизайн для ваших сайтов!
Долго! Недорого! Качественно!
9 AggreSSor 3879 17.4.2015, 12:21
автор: AggreSSor


 



RSS Текстовая версия Сейчас: 17.12.2017, 3:17
Дизайн