Вот модифицированная версия того, что я использую для очень простых веб-сайтов, где мне не нужна / не нужна целая структура для выполнения работы.
function input($name, $options = array()) {
if(!isset($options['type'])) $options['type'] = 'text';
$options['name'] = $name;
if(isset($_POST[$name]) && $options['type'] != 'password') {
$options['value'] = htmlspecialchars($_POST[$name]);
}
$opts = array();
foreach($options as $key => $value) {
$opts[] = $key . '="' . $value . '"';
}
return '<input ' . implode(' ', $opts) . '/>';
}
(у меня есть несколько похожих функций для <select
> и <textarea>
и т. Д.)
Когда вы создаете поля, вы можете сделать что-то вроде:
First Name: <?=input('first_name')?>
Last Name: <?=input('last_name')?>
Password: <?=input('password', array('type' => 'password'))?>
Если вы обрабатываете свои формы на той же странице, что и сама форма, они будут автоматически заполняться при возникновении ошибок. Большинство фреймворков, тем не менее, делают все это для вас (и гораздо лучше, чем приведенный выше код), я лично предлагаю CakePHP
или CodeIgniter
.