Guest User

Untitled

a guest
Jan 6th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.77 KB | None | 0 0
  1. <?php
  2. //рекапча
  3. require_once('recaptchalib.php');
  4. $recaptcha = recaptcha_get_html($publickey);
  5.  
  6. //прроверяем, если юзер не вошёл, то выполняем программу
  7. if (empty($login) and empty($password)) {
  8.  
  9. //если задан не пустой вызов странички
  10. if (isset($_GET["action"])) {
  11. $action = htmlspecialchars($_GET["action"]);
  12.  
  13. //гет запрос к регистрации
  14. if ($action == "register") {
  15. $title = "Регистрация";
  16.  
  17. if (!isset($_POST['submit'])) {
  18. $content = '<p>Для того чтобы начать работу в нашей системе, необходимо пройти процедуру регистрации. Заполните форму и нажмите "Зарегистрироваться". Разрешаются только цифры и английские буквы!</p>
  19. <form class="form" action="" method="post">
  20. <ul>
  21. <li>Логин:</li>
  22. <li><input class="text" type="text" size="20" name="login" /></li>
  23. <li>Пароль:</li>
  24. <li><input class="text" type="password" size="20" maxlength="20" name="password" /></li>
  25. <li>Подтвердить:</li>
  26. <li><input class="text" type="password" size="20" maxlength="20" name="confirmpassword" /></li>
  27. <li>Емейл:</li>
  28. <li><input class="text" type="text" size="20" name="email" /></li>
  29. <li><br/>'.$recaptcha.'<br/></li>
  30. <li><input class="submit" type="submit" value="Зарегистроваться" name="submit" /></li>
  31. </ul>
  32. </form>';
  33. }
  34.  
  35. else {
  36. $resp = recaptcha_check_answer ($privatekey,
  37. $_SERVER["REMOTE_ADDR"],
  38. $_POST["recaptcha_challenge_field"],
  39. $_POST["recaptcha_response_field"]);
  40.  
  41. if (!$resp->is_valid) {
  42.  
  43. $content = '<p class="error">Капча была введена неправильно! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  44. }
  45.  
  46. else {
  47.  
  48. if(empty($_POST['login'])) {
  49. $content = '<p class="error">Введите логин! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  50. }
  51.  
  52. elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
  53. $content = '<p class="error">В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  54. }
  55. elseif(empty($_POST['password'])) {
  56. $content = '<p class="error">Введите пароль! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  57. }
  58. elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
  59. $content = '<p class="error">Пароль слишком короткий! Пароль должен быть не менее 6 символов! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  60. }
  61. elseif(empty($_POST['confirmpassword'])) {
  62. $content = '<p class="error">Введите подтверждение пароля! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  63. }
  64. elseif($_POST['password'] != $_POST['confirmpassword']) {
  65. $content = '<p class="error">Введенные пароли не совпадают! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  66. }
  67. elseif(empty($_POST['email'])) {
  68. $content = '<p class="error">Введите E-mail! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  69. }
  70. elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
  71. $content = '<p class="error">E-mail имеет недопустимий формат! Например, name@gmail.com! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  72. }
  73.  
  74. else {
  75. $login = $_POST['login'];
  76. $password = $_POST['password'];
  77. $mdPassword = md5($password);
  78. $email = $_POST['email'];
  79. $regdate = date("d-m-Y в H:i");
  80. $regip=getenv('REMOTE_ADDR');
  81.  
  82. $query = ("SELECT id FROM users WHERE login='$login'");
  83. $sql = mysql_query($query) or die(mysql_error());
  84.  
  85. if (mysql_num_rows($sql) > 0) {
  86. $content = '<p class="error">Пользователь с таким логином зарегистрирован! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  87. }
  88.  
  89. else {
  90. $query2 = ("SELECT id FROM users WHERE email='$email'");
  91. $sql = mysql_query($query2) or die(mysql_error());
  92.  
  93. if (mysql_num_rows($sql) > 0){
  94. $content = '<p class="error">Пользователь с таким e-mail уже зарегистрирован! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  95. }
  96.  
  97. else {
  98. $query = "INSERT INTO users (login, password, email, regdate, regip )
  99. VALUES ('$login', '$mdPassword', '$email', '$regdate', '$regip')";
  100. $result = mysql_query($query) or die(mysql_error());
  101. unset($login);
  102. unset($password);
  103. $content = '<p>Вы успешно зарегистрировались!<br><a href="/">На главную</a></p>';
  104. }
  105. }
  106. }
  107. }
  108. }
  109. }
  110.  
  111. else {
  112. header("Location: index.php");
  113. }
  114. }
  115.  
  116. //если задан пустой вызов, то выводим логин-форму
  117. else {
  118. $title = "Вход в систему";
  119.  
  120. //если не нажали "отправить"
  121. if(!isset($_POST['submit'])) {
  122. $content = '<p>Введите имя и пароль, полученные при <a href="/index.php?module=register">регистрации.</a></p>
  123. <form class="form" action="" method="post">
  124. <ul>
  125. <li>Логин:</li>
  126. <li><input class="text" type="text" size="20" name="login" /></li>
  127. <li>Пароль:</li>
  128. <li><input class="text" type="password" size="20" maxlength="20" name="password" /></li>
  129. <li><br/>'.$recaptcha.'<br/></li>
  130. <li><input class="submit" type="submit" value="Войти в систему" name="submit" /></li>
  131. </ul>
  132. </form>';
  133. }
  134.  
  135. else {
  136.  
  137. $resp = recaptcha_check_answer ($privatekey,
  138. $_SERVER["REMOTE_ADDR"],
  139. $_POST["recaptcha_challenge_field"],
  140. $_POST["recaptcha_response_field"]);
  141.  
  142. if (!$resp->is_valid) {
  143. $content = '<p class="error">Капча была введена неправильно! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  144. }
  145.  
  146. else {
  147.  
  148. if (empty($_POST['login'])) {
  149. $content = '<p class="error">Введите логин! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  150. }
  151.  
  152. elseif (empty($_POST['password'])) {
  153. $content = '<p class="error">Введите пароль! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  154. }
  155.  
  156. else {
  157.  
  158. $login = mysql_real_escape_string($_POST['login']);//экранируем
  159. $password = mysql_real_escape_string($_POST['password']);
  160. $password = md5($password);//шифруем пароль
  161. $user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
  162. $id_user = mysql_fetch_array($user);
  163. if (empty($id_user['id'])){
  164. $content = '<p class="error">Введённый вами логин или пароль не верен! <a href="javascript: history.go(-1)">Вернуться и исправить.</a></p>';
  165. }
  166.  
  167. else {
  168.  
  169. $_SESSION['password']=$password;
  170. $_SESSION['login']=$login;
  171. $_SESSION['id']=$id_user['id'];
  172. header("Location: index.php");
  173. }
  174. }
  175. }
  176. }
  177. }
  178. }
  179.  
  180. //если юзер вошёл
  181. else {
  182.  
  183. //если задан не пустой вызов странички
  184. if (isset($_GET["action"])) {
  185. $action = htmlspecialchars($_GET["action"]);
  186.  
  187. //если гет запрос на выход
  188. if ($action == "exit") {
  189.  
  190. unset($_SESSION['password']);
  191. unset($_SESSION['login']);
  192. unset($_SESSION['id']);
  193. header("Location: index.php");
  194. }
  195. else {
  196. header("Location: index.php");
  197. }
  198. }
  199. //если пустой запрос, то отправляется на главную
  200. else {
  201. header("Location: index.php");
  202. }
  203. }
  204. ?>
Add Comment
Please, Sign In to add comment