[На главную] [К оглавлению раздела]

form

form - вывод формы

При использовании этого тега создаются следующие пользовательские переменные:

Возможные атрибуты:

Дочерние элементы:

Предустановленные результаты, возвращаемые формой:

<?xml version="1.0" encoding="utf-8"?>
<t:templates xmlns:t="/templates/ns" xmlns="http://www.w3.org/1999/xhtml">

<t:template id="template1">

<!-- пример формы обратной связи -->
<t:form redirect="{VARS['link']}" action="saveAndPublish">
<t:checkform><![CDATA[
	[дополнительные проверки данных и компановка массива $_POST]
]]></t:checkform>
<table cellspacing="10" cellpadding="0" width="100%">
<tr><td colspan="2">
<t:if expr="'{GET['result']}'=='0'"><p style="font-weight: bold; color: #009900;">
	Введенные в форму данные приняты и будут предварительно проверены модератором
</p></t:if>
<t:if expr="'{GET['result']}'=='-3'"><p style="font-weight: bold; color: #990000;">
	Кодовое число не верно
</p></t:if>
<t:if expr="'{GET['result']}'=='-2'"><p style="font-weight: bold; color: #990000;">
	Все поля отмеченные звездочкой должны быть заполнены
</p></t:if>
</td></tr>
	<tr><td width="10%" align="right">Имя*: </td><td><t:input type="text" name="name" required="yes" var_name="title" /></td></tr>
	<tr><td width="10%" align="right">E-mail: </td><td><t:input type="email" name="email" var_name="description" /></td></tr>
	<tr><td width="10%" align="right"><t:form_code_img /></td>
		<td><t:input type="form_code" name="image" /></td></tr>
	<tr><td width="10%" align="right" valign="top">Текст*: </td>
		<td><t:textarea name="text" rows="7" required="yes" var_name="content"></t:textarea></td></tr>
	<tr><td width="10%">&amp;nbsp;</td><td><input type="submit" value="Отправить" /></td></tr>
</table>
</t:form>

</t:template>

</t:templates>

Операций с базой данных

Для выполнения операций с БД необходимо определенным образом сформировать массив $_POST. Необходимо создать переменную _a, которая будет являться массивом последовательно выполняемых действий

Параметры действий:

Пример формирования checkform вручную, для формы из предыдущего примера:


if (preg_match('/^\s*$/', $_POST['name'])) return -2;
if (preg_match('/^\s*$/', $_POST['text'])) return -2;
if ($_POST['image']!='{USER_VARS['form.code']}') return -3;
if (!preg_match('/^[\w\d\-\_\.]+\@[\w\d\-\_\.]+\.[\w\d\-\_]+$/', $_POST['email'])) return -4;

$_POST['_a'] = array(
	0=>array(
		'action'=>'saveAndPublish',
		'parent_id'=>'{VARS['id']}',
		'titleToLink'=>'true',
		'vars'=>array(
			'create_time'=>'NOW',
			'title'=>$_POST['name'],
			'description'=>$_POST['email'],
			'content'=>$_POST['text']
		)
	)
);


[На главную] [К оглавлению раздела] [Вверх]