Механизм хранения и обновления данных, поступающих от посетителей, такой же, как и для данных, редактируемых пользователями с допуском. Отличие заключается, во-первых, в способе ввода данных. Если для изменения записи или создания новой записи пользователю предоставляется специальная форма (окно редактирования), то для посетителя код формы нужно писать в шаблоне блока. Особенности написания кода формы рассмотрим на примере гостевой книги.
Шаблон блока строится по такому же принципу, что и шаблон обычного блока. Добавляется только форма для ввода данных посетителями.
guestbook.tpl<?php foreach ($tab as $dat) echo " {$dat['edit']} $dat[1] $dat[2]<br> "; echo " <form action='?update&block=$block&rec=new' method='post'> Ваше имя: <input type='text' name='dat[1]'> Комментарий: <input type='text' name='dat[2]'> <input type='submit'> </form> "; ?>guestbook.tdd
<?php
$types[1] = 'varchar(50)';
$types[2] = 'varchar(50)';
$params['multi-record'] = true;
$params['public'] = [];
?>
action="?update&block=$block&rec=new"
(для создания новой записи, как в примере гостевой книги) илиaction="?update&block=$block&rec={$dat['rec']}"
(для обновления текущей записи),<input type='text' name='dat[2]'>
.
$params['public'] = []
. Без него данные посетителя в базу данных записаны не будут.