$name,
"pass" => $pass,
"pass_again" => $pass_again,
"email" => $email,
"about" => $about),
"Добавить",
"field");
/////////////////////////////////////////////
// 2. Обработка HTML- формы
/////////////////////////////////////////////
if(!empty($_POST))
{
// Устанавливаем соединение с базой данных
require_once("config/config.php");
// Проверяем корректность заполнения HTML- формы
// и обрабатываем текстовые поля
$error = $form->check();
// Проверяем идентичность паролей
if($form->fields['pass']->value !=
$form->fields['pass_again']->value)
{
$error[] = "Пароли не равны";
}
// Проверяем, не регистрировался ли ранее пользователь
// с идентичным электронным адрессом
$query = "SELECT COUNT(*) FROM users
WHERE email = '{$form->fields[email]->value}'";
$mal = mysql_query($query);
if(!mal)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка регистрации пользователя");
}
if (mysql_result($mal, 0))
{
$error[] = "Пользователь с электронным адресом
{$form->fields[email]->value} уже
зарегистрирован";
}
if(empty($error))
{
// Записываем полученные результаты в таблицу
$query = "INSERT INTO users
VALUES (NULL,
'{$form->fields[name]->value}',
MD5('{$form->fields[pass]->value}'),
'{$form->fields[email]->value}',
'{$form->fields[description]->value}',
NOW())";
if(!mysql_query($query))
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка регистрации пользователя");
}
//Перегружаем страницу для сброса POST- данных
header("Location: $_SERVER[PHP_SELF]");
exit();
}
}
///////////////////////////////////////////////////////
// 3. Видимая часть страницы
///////////////////////////////////////////////////////
// Включаем заголовок страницы
// require_once("utils/top.php");
// Выводим сообщения об ошибках, если они имеются
if(!empty($error))
{
foreach($error as $err)
{
echo "$err
";
}
}
// Выводим HTML_ форму
$form->print_form();
}
// Перехватываем исключение, если производится
// попытка передать классу form некорректный
// элемент управления
catch(ExceptionObject $exc) { require("exception_object.php");}
// Перехватываем исключение, если выполняется
// обращение к несуществующему элементу управления
catch(ExceptionMember $exc) { require("exception_member.php");}
// Обрабатываем исключение, возникшие
// при обращении к СУБД MySQL
catch(ExceptionMySQL $exc) { require("exception_mysql.php");}
// Включаем завершение страницы
// require_once("utils/bottom.php");
?>