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.SU

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


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

> Без описания
Oleg999
Отправлено: 14 Августа, 2009 - 09:28:10
Post Id


Новичок


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


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




Посоветуйте как лучше разработать форму обратной связи с защитой от спама...
 
 Top
nulpatrol
Отправлено: 14 Августа, 2009 - 10:22:40
Post Id



Новичок


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


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




Для защиты от автоматически распространяемого спама можно использовать готовый скрипт kcaptcha
 
 Top
Oleg999
Отправлено: 14 Августа, 2009 - 10:27:06
Post Id


Новичок


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


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




Он мне не подходить, у меня должно быть поле select с каким-то значениями при выборе определенного значения майл должен уходить по разным адресам, т.е
Цены майл уходит на sales@...ru
Вакансии на tk@..ru

в таком виде и должна быть защита от спама как реализовать посоветуйте...
 
 Top
Мелкий Супермодератор
Отправлено: 14 Августа, 2009 - 10:49:30
Post Id



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


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


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




А какие ещё поля должны быть?

Интересный вариант я читал для защиты от роботов:
изменить названия элементов формы и затем проверять её. Например - поле для email назвать name - тогда робот вставит туда имя и будет отфильтрован как некорректный адрес почты. Правда не знаю, на сколько это эффективно...


-----
PostgreSQL DBA
 
 Top
Oleg999
Отправлено: 14 Августа, 2009 - 10:56:53
Post Id


Новичок


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


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




Я сейчас подготовлю бланк формы...
 
 Top
Viper
Отправлено: 14 Августа, 2009 - 11:28:45
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Oleg999 пишет:
в таком виде и должна быть защита от спама

уж извините, но это не защита, а страдание ручками...

любой спам-бот эту "защиту" обходит. в результате у вас спама будут горы.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Oleg999
Отправлено: 14 Августа, 2009 - 11:32:16
Post Id


Новичок


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


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




А как быть???
 
 Top
Roler
Отправлено: 14 Августа, 2009 - 11:43:05
Post Id



Посетитель


Покинул форум
Сообщений всего: 458
Дата рег-ции: Авг. 2008  
Откуда: Россия


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




Приделать сложную капчу, к примеру.
 
 Top
Oleg999
Отправлено: 14 Августа, 2009 - 11:44:23
Post Id


Новичок


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


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




Я планирую этим и заняться сейчас но мне нужна будет помощь немного...
(Добавление)
Это моя основная форма, при выборе определенной категории необходимо отправлять письмо, на адреса admin@...ru и any@..ru
и так по каждой категории на адрес admin и какой-нибудь еще... Как это реализовать


<html>
<head>
<title>Бланк</title>
</head>
<body>
<h4><u>Пожалуйста заполните поля формы:</u></h4>
<form action="reply.php" method="post">
<table border="1">
<tr>
<td>Имя:</td>
<td><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td>Тема:</td>

<td><input type="text" name="theme" size="20"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td>Категория:
</td>
<td>
<select size="1" name="select">
<option value="1">Тарифы</option>
<option value="2">Заказы</option>
<option value="3">Предложения</option>

</select>
</td>
</tr>
<tr>
<td>Текст:</td>
<td> <textarea name="text" rows="5" cols="50"> Наберите здесь сообщение</textarea></td>
</tr>
<tr>
<td>Картинка:</td>
<td><input type="text" name="pic" size="5O"></td>
</table>
<br>
<input type="submit" value="Отправить">

</body>
</html>
(Добавление)
<html>
<head><title>Ответ сервера</title>
</head>
<body>
<?php
echo '<br>Ваше имя:'.$_POST['name'];
echo '<br>Ваша тема:'.$_POST['theme'];
echo '<br>Ваш e-mail:'.$_POST['email'];
if ($_POST['select']==1)
{
$message="<html><body>";
$message="<p>Имя:";
$message=$_POST['name'];
$message="<p>Тема:";
$message=$_POST['theme'];
$message="<p>Текст:";
$message=$_POST['text'];
$header="\n Content-Type: text/html";
if(mail("Kalashnikov.o@str.ru", "Mail", $massage, $header))

echo "OK";
}

?>
</body>
</html>
У меня проблема с формирование тело сообщения не выводиться помогите плиз...


ошибка: Undefined variable: massage in /usr/local/www/data-dist/blank/r eply.php on line 19
Письмо приходить пустое с надписью \n Content-Type: text/html как это побороть...
 
 Top
Мелкий Супермодератор
Отправлено: 14 Августа, 2009 - 15:14:42
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head><title>Ответ сервера</title>
  3. </head>
  4. <body>
  5. <?PHP
  6. echo '<br>Ваше имя:'.$_POST['name'];
  7. echo '<br>Ваша тема:'.$_POST['theme'];
  8. echo '<br>Ваш e-mail:'.$_POST['email'];
  9. if ($_POST['select']==1)
  10. {
  11. $message = "<html><body>";
  12. $message .= "<p>Имя:";
  13. $message .= $_POST['name'];
  14. $message .= "<p>Тема:";
  15. $message .= $_POST['theme'];
  16. $message .= "<p>Текст:";
  17. $message .= $_POST['text'];
  18. $header="\n Content-Type: text/html";
  19. if(mail("Kalashnikov.o@str.ru", "Mail", $message, $header))
  20. {
  21. echo "OK";
  22. }
  23.  
  24. ?>
  25. </body>
  26. </html>


Исправлено:
12-17 строки: '$message =' заменены на '$message .='
19 строка - $massage -> $message, о чём вам php весьма настойчиво говорит
20 строка - пропущена {
и скорей всего в header'e "\n" - лишнее

PS: и выделяйте код тегом PHP

(Отредактировано автором: 14 Августа, 2009 - 15:18:18)



-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 14 Августа, 2009 - 15:42:30
Post Id



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


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


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




Честно сказать мне кажется лучше делать немного подругому чтобы не было спама
Например пользователь заполняет форму а это сообщение сохраняется в базе а потом этому пользователю приходит письмо с подтверждением своего письма
Чем хорошо? Вопервых не будет спама Вовторых гарантированное верный email-адрес клиента Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный 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