parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Защита от спама "в form пришли неизвестные поля"

DSHa 12.04.2011 17:27

Использую класс защиты от спама из примеров...
Всё работатет, но как только вывел форму в popup окно...
форма распологается по ссылке http://мой сайт/catalog/id_lot.html?id_lot=237
Привожу код формы:
	^oAntiSpam.print{
		^rem{ *** xhtml формы. никаких дополнительных полей руками добавлять не нужно. *** }
#Форма для отправки заявки

<div id="form_zayvka" class="hidden">
<div class="bug">
<DIV><a href="/catalog/firma.html?firma=${result_vizitka.vizit_id}" class="news_title">Поставщик: $result_vizitka.ooof $result_vizitka.fname</a> ^region[${result_region.region_id}]</DIV>
<div><b>$result_vizitka.tel_faks</b></div>	
<form method="post">
		
	<fieldset>
		<div class="field" ><br/><label for="n"><b class="red">*</b>Тема сообщения:</label><input size="40" type="text" id="n" name="subject" value="Вопрос о поставке $result_lot.nm_lot $form:id_lot"/></div>
		<div class="field" ><label for="n" ><b class="red">*</b>ФИО:</label><input size="40" type="text" id="n" name="name" value="$form:name"/></div>
		<div class="field" ><label for="n"><b class="red">*</b>Телефон:</label><input size="40" type="text" id="n" name="tel" value=""/></div>
		<div class="field" ><label for="n"><b class="red">*</b>E-mail:</label><input size="40" type="text" id="n" name="user_mail" value=""/></div>
		<div class="field" ><label for="n"><b class="red">*</b>Сообщение:</label></br>
		<textarea  name="z_text"  rows="5" cols="50" maxlength="300">$form:spec</textarea><br/></div>
		<div class="coment">Укажите, пожалуйста, краткое описание вашей компании и детали вашего предложения.</div>
		<div class="br" ></div>	
		<input type="hidden" id="n" name="mail" value="$result_mail.email" />
		<input type="hidden" id="n" name="user_name" value="$result_mail.name" />
		<input type="hidden"  id="n" name="lot_id" value="$form:id_lot" />
			<div ><label for="n"><b class="red">*</b>Введите текст, который видите на картинке:</label><br/><br/>
			<img src="^oAntiSpam.getTuringTest[./captcha.html]" border="1" /><br/><input type="text" name="result" value="" /></div>
			<br/><div class="coment">Сообщение не является рекламным предложением (спамом). При обнаружении подобных действий доступ отправителя к сайту будет заблокирован и сообщения будут удалены. </div>

			^rem{ *** ВНИМАНИЕ! Класс меняет содержимое атрибута 'name', *** }
			^rem{ *** поэтому вы не должны привязываться к нему в CSS/XSL и анализировать его после POST формы. *** }
			^rem{ *** Анализируйте $form:uid например *** }
			<input type="submit" name="action" value="Отправить" class="class" />
	</fieldset>		
	</form>
</div>
</div>
	
	}
после отправки формы исполняемый код:
^oAntiSpam.exec{
	^rem{ *** проверяем все-ли в форме заполнено как надо *** }
	^check[]
	^mail:send[
	$.from[$form:user_mail]
	$.to[$form:mail,xxxx@yandex.ru]
	$.subject[$form:subject]
	$.text[
	Здравствуйте $form:user_name!   
	$form:z_text
	Тел. $form:tel
	]
	$.html{Вы получили это письмо т. к. разместили объявление на сайте<a href="http://xxxxxxx"> xxxxxxxx</a></br>
	<b>Если Вы не желаете получать письма, удалите Ваше объявление в личном кабинете сайта!</b>
	} 
	]
	<h2>Ваша заявка отправлена!</h2>
	$bShowForm(false)
}
ОШИБКА: в form пришли неизвестные поля