<?php
//this function process the mysql query
function form_get($form_query = NULL, $form_name = NULL, $form_action = NULL, $form_method = 'post', $form_cancel = 0) {
//object oriented query
$row = $this->dbc->query($form_query);
$output = NULL;
$output .= '<form action="' . $form_action . '" method="' . $form_method . '">';
//generate form items based on fields
while ($field = $row->fetch_field()) {
//print show_array($field);
//form field error class
isset($_SESSION[str_replace(' ', '_', $field->name)]) ? $input_class = $_SESSION[str_replace(' ', '_', $field->name)]: $input_class = '';
//form field default value
isset($_POST[str_replace(' ', '_', $field->name)]) ? $field_value = $_POST[str_replace(' ', '_', $field->name)]: $field_value = '';
//form field password type
(preg_match('/\s*password\s*/', $field->name)) ? $field_type = 'password': $field_type = 'text';
//form input/textarea type
($field->length > 100) ? $input_type = '<label>' . ucwords($field->name) . '</label><text area class="' . $input_class . '" name="' . str_replace(' ', '_', $field->name) . '" cols="20" rows="5">' . $field_value . '</text area>':
$input_type = '<label>' . ucwords($field->name) . '</label><input class="' . $input_class . '" type="' . $field_type . '" name="' . str_replace(' ', '_', $field->name) . '" value="' . $field_value . '"/>';
$output .= $input_type;
//reset empty error class
$_SESSION[str_replace(' ', '_', $field->name)] = '';
}
//cancel submit button switch
($form_cancel) ? $cancel = '<input name="cancel" type="submit" value="Cancel">': $cancel = '';
//form sumit button
$output .= '<input type="submit" name="' . $form_name . '" value="' . ucwords($form_name) . '" /> ' . $cancel;
$output .= '</form>';
return $output;
}
//with a few lines of codes you can automatically generate the registration form, of course you need to setup a database for this to work
function user_register() {
//form get function input
$form_query = 'SELECT name as user, password, password as "retype password", email FROM user LIMIT 1';
$form_name = 'register';
$form_action = '';
$form_method = 'post';
$form_cancel = 1;
$output = NULL;
if(isset($_GET['q']) && $_GET['q'] == 'register') {
$output .= $this->form_get($form_query, $form_name, $form_action, $form_method, $form_cancel);
} else {
$output .= '<span class="register">Not a member yet? <a href="' . BASE_URL . 'registration">' . ucwords($form_name) . '</a></span>';
}
return $output;
}
?>