Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: php обработчик форм

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: php обработчик форм
AndresTIP
Отправлено: 17 Января, 2010 - 03:05:59
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Помогите создать обработчик форм под вот эту форму (в PHP не силен). Смысл в том чтобы данные с форм летели на этот маил: andres.tip@mail.ru Заранее благодарен!

<form action="send%20stoly.php" method="post" enctype="application/x-www-form-urlencoded" name="Stoly" target="_blank" id="Stoly">
<p>Введите фамилию:<br>
<input type="text" name= "surename"maxlength="20">
</p>
<p>Введите имя:<br>
<input name="name" type="text" id="name" maxlength="20">
</p>
<p>Введите email:<br>
<input name="email" type="text" id="email">
</p>
<p> Контактный телефон:<br>
<input name="telephone " type="text" id="telephone ">
</p>
<p>Выберите номер заказываемого стола:<br>
<label>
<input type="radio" name="RadioGroup1" value="table №1">
Стол №1</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №2">
Стол №2</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №3">
Стол №3</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №4">
Стол №4</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №5">
Стол №5</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №6">
Стол №6</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №7">
Стол №7</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="table №8">
Стол №8</label>
<br>
<br>
Примечания<br>
<textarea name="Note " cols="50" rows="6" id="Note "> </textarea>
</p>
<p>
<input type="submit" name="Submit" value="Отправить ">
</p>
<p>&nbsp;</p>
<p><br>
</p>
</form>
 
 Top
JustUserR
Отправлено: 17 Января, 2010 - 12:07:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AndresTIP Есть два варианта это сделать - либо посывать форму на PHP-обработчик и оттуда через sendmail отправлять письмо - либо же отправлять письмот от клиента через mailto: с помощью JS формировать тело сообщения


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AndresTIP
Отправлено: 17 Января, 2010 - 12:20:01
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Вот меня как раз интересует первый вариант.... я вроде как создал PHP обработчик... но он присылает письмо пустое... то есть пишется автор назвался (и тут должна быть переменная из формы, но ее нет). Вот то что я создал, если возможно, поправьте! Заранее благодарен!

<?php
if (isset($_POST['$surname'])) {$surname = $_POST['$surname'];}
if (isset($_POST['$name'])) {$name = $_POST['$name'];}
if (isset($_POST['$email'])) {$email = $_POST['$email'];}
if (isset($_POST['$telephone'])) {$telephone = $_POST['$telephone'];}
if (isset($_POST['$RadioGroup1'])) {$RadioGroup1 = $_POST['$RadioGroup1'];}
if (isset($_POST['$Note'])) {$Note = $_POST['$Note'];}


$address = 'Andres.tip@mail.ru';
$sub = "Заказ стола";
$message = "Автор назвался: $name $surname \n указал маил адрес:$email \nУказал свой телефон: $_telephone \n примчания: $Note \n заказал стол №: $RadioGroup1 ";
$verify = mail ($address,$sub,$message,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
$mailheaders .= "Bcc: email1@mail.rurn";


if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
 
 Top
JustUserR
Отправлено: 17 Января, 2010 - 12:25:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AndresTIP пишет:
'$surname'
Везде в аналочиных операторах уберите знак доллара внутри одинарных кавычек - так как в названии ключей зеша в оригинале доллара нет


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AndresTIP
Отправлено: 17 Января, 2010 - 13:22:18
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




большое спасибо, лед тронулся, но заработало только 3 из 6 форм ($name $email $RadioGroup1) осальные 3 не обрабатываются или не отправляются....помогите...
Вот php обработчик с исправлениями указанными вами:
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['surname'])) {$surname = $_POST['surname'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['telephone'])) {$telephone = $_POST['telephone'];}
if (isset($_POST['RadioGroup1'])) {$RadioGroup1 = $_POST['RadioGroup1'];}
if (isset($_POST['Note'])) {$Note = $_POST['Note'];}


$address = 'Andres.tip@mail.ru';
$sub = "Заказ стола";
$message = " Имя: $name \nфамилия: $surname \nуказал маил адрес: $email \nУказал свой телефон: $telephone \nзаказал стол №: $RadioGroup1 \nпримчания: $Note ";
$verify = mail ($address,$sub,$message,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
$mailheaders .= "Bcc: email1@mail.rurn";


if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
 
 Top
JustUserR
Отправлено: 17 Января, 2010 - 18:09:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




В объявлении формы в одном из <input name="telephone " стоит лишний пробел перед кавычкой - его надо убрать а то имя может интерпретироваться неправильно
Также в другом месте <input type="text" name= "surename"maxlength у вас пробел не в том месте - после name= пробел не нужен а после последней кавычке нужен
И также <textarea name="Note " cols опять лишний пробел перед закрывающей кавычки
Вот как раз 3 поля которые у вас читаться не хотят
На будущее будьте внимательнее с пробелами так как они игронируются вовсе не везде


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
kuller
Отправлено: 17 Января, 2010 - 18:30:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




ошибка не только в пробелах. где же $_POST для других перемёных?
<?php
$name = trim(htmlspecialchars(stripslashes($_POST['name'])));
$surname = trim(htmlspecialchars(stripslashes($_POST['surname'])));
$email = trim(htmlspecialchars(stripslashes($_POST['email'])));
$telephone = trim(htmlspecialchars(stripslashes($_POST['telephone'])));
$RadioGroup1 = trim(htmlspecialchars(stripslashes($_POST['RadioGroup1'])));
$Note = trim(htmlspecialchars(stripslashes($_POST['Note'])));
if(empty($name) or empty($surname) or empty($email) or empty($telephone) or empty($RadioGroup1) or empty($Note))
{
exit("Заполните пожалуста все поля.");
}

$address = 'Andres.tip@mail.ru';
$sub = "Заказ стола";
$message = "Имя: $name \nфамилия: $surname \nуказал маил адрес: $email \nУказал свой телефон: $telephone \nзаказал стол №: $RadioGroup1 \nпримчания: $Note ";
$verify = mail ($address,$sub,$message,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
$mailheaders .= "Bcc: email1@mail.rurn";


if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
и на будущее не забывайте про htmlspecialchars
 
 Top
JustUserR
Отправлено: 17 Января, 2010 - 19:25:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




kuller пишет:
Ошибка не только в пробелах Где же $_POST для других перемёных?
Вроде бы считывание других переменных из хеш-массива $_POST в коде присутствует - просто можно посмотреть print_r($_POST) и посмотреть как назывались другие переменные до убирания пробела и увидеть в чем проблема была Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AndresTIP
Отправлено: 17 Января, 2010 - 20:40:42
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Лед еще немного расстаял.... теперь и телефон обрабатывается, а вот $surname и $Note никак. Уже и все пробклы проверил... никак. Если есть возможность жду помощи....

Форма:

<form action="send%20stoly.php" method="post" enctype="application/x-www-form-urlencoded" name="Stoly" target="_blank" id="Stoly">
<p>Введите фамилию:<br>
<input type="text" name="surename" maxlength="20">
</p>
<p>Введите имя:<br>
<input name="name" type="text" id="name" maxlength="20">
</p>
<p>Введите email:<br>
<input name="email" type="text" id="email">
</p>
<p> Контактный телефон:<br>
<input name="telephone" type="text" id="telephone">
</p>
<p>Выберите номер заказываемого стола:<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №1">
Стол №1</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №2">
Стол №2</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №3">
Стол №3</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №4">
Стол №4</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №5">
Стол №5</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №6">
Стол №6</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №7">
Стол №7</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №8">
Стол №8</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №9">
Стол №9</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №10">
Стол №10</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №11">
Стол №11</label>
<br>
<label>
<input type="radio" name="RadioGroup1" value="stol №12">
Стол №12</label>
<br>
<br>
<br>
Примечания<br>
<textarea name="Note " cols="50" rows="6" id="Note "> </textarea>
</p>
<p>
<input type="submit" name="Submit" value="Отправить ">
</p>
<p>&nbsp;</p>
<p><br>
</p>
</form


Обработчик:

<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['surname'])) {$surname = $_POST['surname'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['telephone'])) {$telephone = $_POST['telephone'];}
if (isset($_POST['RadioGroup1'])) {$RadioGroup1 = $_POST['RadioGroup1'];}
if (isset($_POST['Note'])) {$Note = $_POST['Note'];}


$address = 'Andres.tip@mail.ru';
$sub = "Заказ стола";
$message = " Имя: $name \nфамилия: $surname \nуказал маил адрес: $email \nУказал свой телефон: $telephone \nзаказал стол №: $RadioGroup1 \nпримчания: $Note ";
$verify = mail ($address,$sub,$message,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
$mailheaders .= "Bcc: email1@mail.rurn";


if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>
 
 Top
JustUserR
Отправлено: 17 Января, 2010 - 21:00:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AndresTIP Будьте чуток внимательнее - очередная порция синтаксических ошибок Улыбка
В поле <input type="text" name="surename" maxlength="20"> должно быть не surename а просто surname (Лишняя буква e по сравненнию с тем что считывается из POST)
В поле <textarea name="Note " cols="50" rows="6" id="Note "> так и не убрали пробел после слова Note - должно быть именно name="Note"
Еще раз обращу ваше внимание что пробельные символы далеко не всегда и не везде игнорируются


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AndresTIP
Отправлено: 17 Января, 2010 - 21:45:56
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Спасибо большое!!!! Все заработало!!! тему можно закрыват))
 
 Top
JustUserR
Отправлено: 18 Января, 2010 - 13:13:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AndresTIP пишет:
Спасибо большое!!!! Все заработало!!! тему можно закрыват))
Пожалуйста Улыбка Будьте впредь внимательнее на синтаксические ошибки Улыбка
Тема закрыта!


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB