function register_user($dbh, &$user, &$errors) { $user = array(); $errors = empty_errors(); // считываем строки из запроса read_string($_POST, 'username', $user, $errors, 2, 64, true); read_email($_POST, 'e-mail', $user, $errors, 2, 64, true); read_string($_POST, 'password', $user, $errors, 6, 24, true); read_string($_POST, 'confirm-password', $user, $errors, 6, 24, true); read_list($_POST, 'gender', $user, $errors, array('M', 'F'), false); read_bool($_POST, 'newsletter', $user, $errors, '1', false, false); // пароль и подтверждение пароля должны совпадать if (!is_error($errors, 'password') && !is_error($errors, 'confirm-password') && $user['password'] != $user['confirm-password']) { $errors['fields'][] = 'password'; add_error($errors, 'confirm-password', 'dont-match'); } if (has_errors($errors)) { return false; } // защищаем пароль пользователя $user['password'] = crypt($user['password']); unset($user['password_confirmation']); // форма передана правильно, сохраняем пользователя в базу данных $db_user = db_user_insert($dbh, $user); // автоматически логиним пользователя после регистрации, запоминая его в сессии store_current_user_id($db_user['id']); return true; }
{ $dbh = mysqli_connect('127.0.0.1', 'root', 'root', 'lecture_6', 3306); // проверка соединения if (mysqli_connect_errno()) { db_handle_error($dbh); } mysqli_set_charset($dbh, "utf8"); return $dbh; } // подключаемся к базе данных $dbh = db_connect(); // считываем список пользователей $user_list = db_user_find_all($dbh); var_dump($user_list); $newUser = array('nickname' => 'test', 'email' => '12@12.12', 'password' => 'test', 'fullname' => 'Teest', 'gender' => 'm', 'newsletter' => 0); db_user_insert($dbh, $newUser); ///////////////////////////////// /* * Обработка ошибок подключения к базе данных */ function db_handle_error($dbh) { $code = '@unknown-error'; $message = ''; if (mysqli_connect_error()) { $code = '@connect-error'; $message = mysqli_connect_error(); } if (mysqli_error($dbh)) { $code = '@query-error'; $message = mysqli_error($dbh);