Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //рекапча
- require_once('recaptchalib.php');
- $recaptcha = recaptcha_get_html($publickey);
- //прроверяем, если юзер не вошёл, то выполняем программу
- if (empty($login) and empty($password)) {
- //если задан не пустой вызов странички
- if (isset($_GET["action"])) {
- $action = htmlspecialchars($_GET["action"]);
- //гет запрос к регистрации
- if ($action == "register") {
- $title = "Регистрация";
- if (!isset($_POST['submit'])) {
- $content = '<p>Для того чтобы начать работу в нашей системе, необходимо пройти процедуру регистрации. Заполните форму и нажмите "Зарегистрироваться". Разрешаются только цифры и английские буквы!</p>
- <form class="form" action="" method="post">
- <ul>
- <li>Логин:</li>
- <li><input class="text" type="text" size="20" name="login" /></li>
- <li>Пароль:</li>
- <li><input class="text" type="password" size="20" maxlength="20" name="password" /></li>
- <li>Подтвердить:</li>
- <li><input class="text" type="password" size="20" maxlength="20" name="confirmpassword" /></li>
- <li>Емейл:</li>
- <li><input class="text" type="text" size="20" name="email" /></li>
- <li><br/>'.$recaptcha.'<br/></li>
- <li><input class="submit" type="submit" value="Зарегистроваться" name="submit" /></li>
- </ul>
- </form>';
- }
- else {
- $resp = recaptcha_check_answer ($privatekey,
- $_SERVER["REMOTE_ADDR"],
- $_POST["recaptcha_challenge_field"],
- $_POST["recaptcha_response_field"]);
- if (!$resp->is_valid) {
- $content = '<p class="error">Капча была введена неправильно! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- if(empty($_POST['login'])) {
- $content = '<p class="error">Введите логин! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
- $content = '<p class="error">В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif(empty($_POST['password'])) {
- $content = '<p class="error">Введите пароль! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
- $content = '<p class="error">Пароль слишком короткий! Пароль должен быть не менее 6 символов! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif(empty($_POST['confirmpassword'])) {
- $content = '<p class="error">Введите подтверждение пароля! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif($_POST['password'] != $_POST['confirmpassword']) {
- $content = '<p class="error">Введенные пароли не совпадают! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif(empty($_POST['email'])) {
- $content = '<p class="error">Введите E-mail! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
- $content = '<p class="error">E-mail имеет недопустимий формат! Например, name@gmail.com! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- $login = $_POST['login'];
- $password = $_POST['password'];
- $mdPassword = md5($password);
- $email = $_POST['email'];
- $regdate = date("d-m-Y в H:i");
- $regip=getenv('REMOTE_ADDR');
- $query = ("SELECT id FROM users WHERE login='$login'");
- $sql = mysql_query($query) or die(mysql_error());
- if (mysql_num_rows($sql) > 0) {
- $content = '<p class="error">Пользователь с таким логином зарегистрирован! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- $query2 = ("SELECT id FROM users WHERE email='$email'");
- $sql = mysql_query($query2) or die(mysql_error());
- if (mysql_num_rows($sql) > 0){
- $content = '<p class="error">Пользователь с таким e-mail уже зарегистрирован! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- $query = "INSERT INTO users (login, password, email, regdate, regip )
- VALUES ('$login', '$mdPassword', '$email', '$regdate', '$regip')";
- $result = mysql_query($query) or die(mysql_error());
- unset($login);
- unset($password);
- $content = '<p>Вы успешно зарегистрировались!<br><a href="/">На главную</a></p>';
- }
- }
- }
- }
- }
- }
- else {
- header("Location: index.php");
- }
- }
- //если задан пустой вызов, то выводим логин-форму
- else {
- $title = "Вход в систему";
- //если не нажали "отправить"
- if(!isset($_POST['submit'])) {
- $content = '<p>Введите имя и пароль, полученные при <a href="/index.php?module=register">регистрации.</a></p>
- <form class="form" action="" method="post">
- <ul>
- <li>Логин:</li>
- <li><input class="text" type="text" size="20" name="login" /></li>
- <li>Пароль:</li>
- <li><input class="text" type="password" size="20" maxlength="20" name="password" /></li>
- <li><br/>'.$recaptcha.'<br/></li>
- <li><input class="submit" type="submit" value="Войти в систему" name="submit" /></li>
- </ul>
- </form>';
- }
- else {
- $resp = recaptcha_check_answer ($privatekey,
- $_SERVER["REMOTE_ADDR"],
- $_POST["recaptcha_challenge_field"],
- $_POST["recaptcha_response_field"]);
- if (!$resp->is_valid) {
- $content = '<p class="error">Капча была введена неправильно! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- if (empty($_POST['login'])) {
- $content = '<p class="error">Введите логин! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- elseif (empty($_POST['password'])) {
- $content = '<p class="error">Введите пароль! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- $login = mysql_real_escape_string($_POST['login']);//экранируем
- $password = mysql_real_escape_string($_POST['password']);
- $password = md5($password);//шифруем пароль
- $user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
- $id_user = mysql_fetch_array($user);
- if (empty($id_user['id'])){
- $content = '<p class="error">Введённый вами логин или пароль не верен! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
- }
- else {
- $_SESSION['password']=$password;
- $_SESSION['login']=$login;
- $_SESSION['id']=$id_user['id'];
- header("Location: index.php");
- }
- }
- }
- }
- }
- }
- //если юзер вошёл
- else {
- //если задан не пустой вызов странички
- if (isset($_GET["action"])) {
- $action = htmlspecialchars($_GET["action"]);
- //если гет запрос на выход
- if ($action == "exit") {
- unset($_SESSION['password']);
- unset($_SESSION['login']);
- unset($_SESSION['id']);
- header("Location: index.php");
- }
- else {
- header("Location: index.php");
- }
- }
- //если пустой запрос, то отправляется на главную
- else {
- header("Location: index.php");
- }
- }
- ?>
Add Comment
Please, Sign In to add comment