Класс создания формы
Создание форм и получение содержимого в одной переменной
Класс
<?
define('BR',1);
class forms{
var $action;
var $method;
var $form_start;
var $form_close = '</form>';
var $clform;
var $cols = '25';
var $rows = '4';
var $size;
var $maxlength;
var $text;
function forms($action,$method)
{
$this->action = $action;
$this->method = $method;
$this->form_start = '<form action="'.$action.'" method="'.$method.'">';
}
function addelem($TYPE,$form_type=null,$NAME,$VALUE=null,$br=null,$option=null)
{
if ($form_type == '') {$form_type = 'text';}
if ($br){$br = '<br />';}
if (!empty($this->text)){$text = $this->text."\n";}
if (!empty($this->size)){$size = 'size="'.$this->size.'"';}
if (!empty($this->maxlength)){$maxlength = 'maxlength="'.$this->maxlength.'"';}
if ($TYPE == 'input')
{
$this->clform[] = $text.'<input type="'.$form_type.'" name="'.$NAME.'" value="'.$VALUE.'" '.$size.' '.$maxlength.'/>'.$br;
}
elseif ($TYPE == 'textarea')
{
$this->clform[] = $text.'<textarea name="'.$NAME.'" cols="'.$this->cols.'" rows="'.$this->rows.'" '.$maxlength.'>'.$VALUE.'</textarea>'.$br;
}
elseif ($TYPE == 'select')
{
$select = $text.'<select name="'.$NAME.'" '.$size.'>'.$br."\n";
for ($i=0; $i<count($option); $i++)
{
if ($option[$i][2] == 'selected'){$selected = 'selected="selected"';}
$select .= '<option value="'.$option[$i][0].'" '.$selected.' '.$size.'>'.$option[$i][1].'</option>'."\n";
$selected = '';
}
$select .= '</select>'.$br."\n";
$this->clform[] = $select;
}
elseif ($TYPE == 'checkbox')
{
if ($option == 'checked'){$checked = 'checked="checked"';}
$this->clform[] = $text.'<input type="'.$form_type.'" name="'.$NAME.'" value="'.$VALUE.'" '.$checked.' '.$size.' '.$maxlength.'/>'.$br;
}
elseif ($TYPE == 'radio')
{
$this->clform[] = $text.'<input type="'.$form_type.'" name="'.$NAME.'" value="'.$VALUE.'" '.$size.' '.$maxlength.'/>'.$br;
}
$this->text = '';
$this->size = '';
$this->maxlength = '';
}
function form()
{
$form = $this->form_start."\n";
for ($i=0; $i<count($this->clform); $i++){$form .= $this->clform[$i]."\n";}
$form .= $this->form_close."\n";
return $form;
}
}
?>
Вызываем класс
Функция forms(action ,method )
Функция addelem(type , type_form , name , value, br , option)
Пример создания формы,возьмём форму для регистрации
<?
$form = new forms('index.php','POST');
$form->text = 'Логин:<br />'; // Тест возле формы
$form->maxlength = '8'; // Кол-во символов в форме
$form->addelem('input' , 'text' , 'user_login' , null, BR ); // Создаём форму
$form->text = 'Пароль:<br />'; // Тест возле формы
$form->maxlength = '8'; // Кол-во символов в форме
$form->addelem('input' , 'password' , 'user_pass' , null, BR ); // Создаём форму
$form->text = 'E-mail:<br />'; // Тест возле формы
$form->maxlength = '32'; // Кол-во символов в форме
$form->addelem('input' , 'text' , 'user_email' , null, BR ); // Создаём форму
$form->addelem('input' , 'submit' , 'go_reg', 'Зарегистрироваться', BR); //Кнопка submit
///// Получаем созданную форму в переменной
$reg_form = $form->form();
echo $reg_form;
?>
Результат
<form action="index.php" method="POST">
Логин:<br />
<input type="text" name="user_login" value="" maxlength="8"/><br />
Пароль:<br />
<input type="password" name="user_pass" value="" maxlength="8"/><br />
E-mail:<br />
<input type="text" name="user_email" value="" maxlength="32"/><br />
<input type="submit" name="go_reg" value="Зарегистрироваться" /><br />
</form>
Пример создания формы select
<?
$form = new forms('index.php','POST');
$form->text = 'Логин:<br />'; // Тест возле формы
$form->maxlength = '8'; // Кол-во символов в форме
$form->addelem('input' , 'text' , 'user_login' , null, BR ); // Создаём форму
$form->text = 'Пароль:<br />'; // Тест возле формы
$form->maxlength = '8'; // Кол-во символов в форме
$form->addelem('input' , 'password' , 'user_pass' , null, BR ); // Создаём форму
$form->text = 'E-mail:<br />'; // Тест возле формы
$form->maxlength = '32'; // Кол-во символов в форме
$form->addelem('input' , 'text' , 'user_email' , null, BR ); // Создаём форму
//// Создание опций
### $option[] = array( value , Имя опции , атрибут selected);
$option[] = array(1,'Покупатель');
$option[] = array(2,'Продавец','selected');
$form->addelem('select',null,'type_client',null,BR,$option);
$form->addelem('input' , 'submit' , 'go_reg', 'Зарегистрироваться', BR); //Кнопка submit
///// Получаем созданную форму в переменной
$reg_form = $form->form();
echo $reg_form;
?>
Результат
<form action="index.php" method="POST">
Логин:<br />
<input type="text" name="user_login" value="" maxlength="8"/><br />
Пароль:<br />
<input type="password" name="user_pass" value="" maxlength="8"/><br />
E-mail:<br />
<input type="text" name="user_email" value="" maxlength="32"/><br />
<select name="type_client" ><br />
<option value="1" >Покупатель</option>
<option value="2" selected="selected" >Продавец</option>
</select><br />
<input type="submit" name="go_reg" value="Зарегистрироваться" /><br />
</form>
Так же создаётся textarea
$form->cols = '25';// длинна формы
$form->rows = '6'; // Кол-во строк
$form->addelem('textarea',null,'nameform','value',BR);
Длинну форму input можно увеличить $form->size = 'Длинна формы';
URL:
https://visavi.net/articles/89