<?php require_once './config/require.php'; $forward = getenv('HTTP_X_FROWARDED_FROM') ? getenv('HTTP_X_FROWARDED_FROM') : 'no HTTP_X_FROWARDED_FROM'; $ip = getenv('REMOTE_ADDR'); // todo: нормальная система сообщений if (!isset($question) || '' === $question) { data('message', 'Не указан вопрос.'); template('message', $data); } elseif (!CheckSym($question)) { data('message', 'Вопрос содержит недопустимые символы.'); template('message', $data); } $q = $mysqli_->prepare('insert into faq(date, question, curuserid, ip, forward) values(now(), ?, ?, ?, ?)'); $q->bind_param('siss', stripslashes($question), $curuserid, $ip, $forward); if (!$q->execute() || 1 != $q->affected_rows) { fail(_error_mysql_query_error_code); } // auto-close query $q->close(); data('message', 'Ваш вопрос был успешно добавлен.'); template('message', $data);
if (isset($changebtn) && !isset($message)) { if (isset($changepassword) && (!$passrep || !$newpass) || !$nickname) { $message = 'Не заполнено одно или несколько из обязательных полей ввода. Введите необходимые данные'; } elseif (isset($changepassword) && $newpass != $passrep) { $message = 'Повтор нового пароля некорректен.'; } elseif (isset($newpass) && !PassCorrect($newpass)) { $message = 'Неверно введен пароль. Длина строки не должна превышать 20 символов. '; } elseif (!NicknameCorrect($nickname)) { $message = 'Неверно введен nick. Длина строки не должна превышать 30 символов. '; } elseif (!StudyCorrect($studyplace)) { $message = 'Неверно введено название места обучения. Длина строки не должна превышать 50 символов. '; } elseif (!EmailCorrect($email)) { $message = 'Неверно введен E-mail. Длина строки не должна превышать 40 символов. '; } elseif (!InfoCorrect($info)) { $message = 'Неверно введена дополнительная информация. Длина строки не должна превышать 254 символа. '; } elseif (isset($passrep) && !CheckSym($passrep) || isset($newpass) && !CheckSym($newpass) || !CheckSym($nickname) || !CheckSym($studyplace) || !CheckSym($email) || !CheckSym($info)) { $message = 'Одно из полей ввода содержит недопустимые символы.'; } } //конец проверки присланных данных // коррекция данных if (isset($changebtn) && !isset($message)) { // проверка на наличие паролей if (!isset($changepassword) || !$changepassword) { $newpass = $curpass; $passrep = $curpass; } } // конец коррекции данных // проверка на реальное изменение данных // todo: не работает if (isset($changebtn) && !isset($message)) {
} // конец проверки на спам // проверка присланных данных // todo: дата рождения if (isset($regbtn) && !isset($message)) { if (!$passrep || !$newpass || !$login || !$nickname) { $message = 'Не заполнено одно или несколько из обязательных полей ввода. Введите необходимые данные'; } elseif ($newpass != $passrep) { $message = 'Повтор пароля некорректен.'; } elseif (!LoginCorrect($login)) { $message = 'Неверно введен login. Длина строки не должна превышать 50 символов. '; } elseif (!PassCorrect($newpass)) { $message = 'Неверно введен пароль. Длина строки не должна превышать 20 символов. '; } elseif (!NicknameCorrect($nickname)) { $message = 'Неверно введен nick. Длина строки не должна превышать 50 символов. '; } elseif (!CheckSym($passrep) || !CheckSym($newpass) || !CheckSym($login) || !CheckSym($nickname)) { $message = 'Одно из полей ввода содержит недопустимые символы.'; } } //конец проверки присланных данных // коррекция данных и попытка создания пользователя if (isset($regbtn) && !isset($message)) { //попытка зарегистрировать данные $q = $mysqli_->prepare('INSERT INTO `user`(login, `password`, nickname, regdate, teamid) VALUES(?, password(?), ?, NOW(), -1)'); $q->bind_param('sss', $login, $newpass, $nickname); $success = $q->execute() || 0 == $q->affected_rows; $userId = $mysqli_->insert_id; $q->close(); if (!$success) { $message = 'Регистрация не удалась. Возможно, пользователь с таким nickname\'ом уже существует.'; } else {