Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function validateEmail($email, &$errors = [])
- {
- if (empty($email)) {
- $errors[] = "Введите е-маил";
- return;
- }
- if (!preg_match("/^([a-z,0-9])+@([a-z,0-9])+(.([a-z,0-9])+)+$/", $email)) {
- $errors[] = "Е-маил введён неверно!";
- }
- if (strlen($email) < "7") {
- $errors[] = "Е-маил не может быть короче 7-ми символов";
- }
- if (strlen($email) > "100") {
- $errors[] = "Е-маил длинее 100 символов";
- }
- }
- function validateUsername($username, &$errors = [])
- {
- if (empty($username)) {
- $errors[] = "Введите логин";
- return;
- }
- if (!stripslashes($username) && htmlspecialchars($username) && trim($username)) {
- $errors[] = "Логин введён неверно!";
- }
- if (strlen($username) < "7") {
- $errors[] = "Логин не может быть короче 7-ми символов";
- }
- if (strlen($username) > "100") {
- $errors[] = "Логин длинее 100 символов";
- }
- }
- function validatePassword($pass, &$errors = [])
- {
- if (empty($pass)) {
- $errors[] = "Введите пароль";
- return;
- }
- if (!stripslashes($pass) && htmlspecialchars($pass) && trim($pass)) {
- $errors[] = "Пароль введён неверно!";
- }
- if (strlen($pass) < "7") {
- $errors[] = "Пароль не может быть короче 7-ми символов";
- }
- if (strlen($pass) > "100") {
- $errors[] = "Пароль длинее 100 символов";
- }
- }
- function passHash(){
- $password = password_hash($password, PASSWORD_DEFAULT);
- return $password;
- }
- function writeErrors(array $errors)
- {
- echo implode("<br>", $errors);
- }
- //Input
- $email = isset($_POST['email'])?$_POST['email']:"";
- $login = isset($_POST['log'])?$_POST['log']:"";
- $password = isset($_POST['pass'])?$_POST['pass']:"";
- function isValidInput($email,$login,$password,array &$errors)
- {
- validateEmail($email, $errors);
- validateUsername($login, $errors);
- validatePassword($password, $errors);
- passHash($password);
- $isValid = count($errors) === 0;
- return $isValid;
- }
- $errors = [];
- if (isset($_POST['register']) && isValidInput($email,$login,$password,$errors)) {
- // include_once 'connection.php';
- $password=password_hash($password, PASSWORD_DEFAULT);
- $mysqli = new mysqli("localhost", "root", "", "userlistdb");
- $sql = "INSERT INTO usertbl(
- username,
- password,
- email
- ) VALUES(
- '$login',
- '$password',
- '$email'
- )";
- $result = $mysqli->query($sql) or die(mysql_error());
- }
- ?>
- <br/>
- <?php writeErrors($errors);
- $myer = array_chunk($errors, 2, true);
- json_encode($myer[0]);
- json_encode($myer[1]);
- json_encode($myer[2]);
- ?>
- <form method="POST" >
- <input name="email" class='test' type="text" placeholder="Email"><br/>
- <input name="log" class='test1' type="text" placeholder="Username"><br/>
- <input name="pass" class='test2' type="password" placeholder="password"> <br/>
- <input type="button" id='button' name="register" value="Send">
- </form>
- <script>
- $('.button').click(function(){
- var user_test = $('.test').val();
- var user_test1 = $('.test1').val();
- var user_test2 = $('.test2').val();
- $.ajax({
- type: "POST", // - методом POST.
- dataType: "json",
- data: { // что отправляем
- "email": user_test,
- "pass": user_test1,
- "log": user_test2
- },
- url: "register.php", // - скрипт PHP.
- beforeSend: function() {
- // Перед отправкой выведем уведомление:
- $('.form-footerr').html('<div>Подождите...</div>');
- },
- success:function(data) {
- var ydata = data;
- if(ydata == 'Введите е-маил'){
- $('.test').html('<div>Пожалуйста, заполните поле</div>').css('color','#FF7777');
- $('.test').css('border-color', '#FF3333');
- }else{
- $('.form-footerr').html('<div>Ваш отзыв отправлен</div>').css('color', 'green');
- $('#commentr').css('border-color', '#A9A9A9');
- $('form').click(function(e){
- $('input[type=button]', $(this)).attr('disabled', 'disabled');
- });
- }
- }
- });
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement