/
BBBaychikov
/
php
Обзор
Документация
Войти
/
BBBaychikov
/
php
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
index.php
79 строк
4 KB
BBBaychikov
create index.php
07 июн 2024, 01:09
07 июн 2024, 01:09
575005c
Код
Авторство
О чём код?
<?php require_once('db.php'); if ($_SERVER["REQUEST_METHOD"] == "POST") { $fullname = mysqli_real_escape_string($conn, $_POST['fullname']); $phone = mysqli_real_escape_string($conn, $_POST['phone']); $login = mysqli_real_escape_string($conn, $_POST['login']); $pass = mysqli_real_escape_string($conn, $_POST['pass']); // Валидация fullname - должны быть только кириллица, латиница и пробелы if (preg_match("/[^a-zа-яё ]/iu", $_POST["fullname"])) { $error_message = "Ошибка: ФИО может содержать только буквы и пробелы."; } // Валидация login - уникальный и минимум 3 символа if (strlen($login) < 3) { $error_message = "Ошибка: Логин должен содержать минимум 3 символа."; } // Валидация pass - хотя бы одна буква в нижнем и верхнем регистре if (!preg_match("/[a-z]+/", $pass) || !preg_match("/[A-Z]+/", $pass)) { $error_message = "Ошибка: Пароль должен содержать хотя бы одну букву в нижнем и верхнем регистре."; } // Добавить условие проверки наличия ошибки, прежде чем выполнить код добавления в базу if (!isset($error_message)) { $sql = "INSERT INTO users (fullname, phone, login, pass) VALUES (?, ?, ?, ?)"; $stmt = $conn->prepare($sql); $stmt->bind_param("ssss", $fullname, $phone, $login, $pass); $stmt->execute(); if ($stmt->affected_rows > 0) { header('Location:login.php'); } else { echo "<script>alert('Ошибка при добавлении данных: '. mysqli_error($conn))</script>"; } $stmt->close(); } } $conn->close(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="CSS/style.css"> <!-- на случай, если будет фавиконка --> <!-- <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> --> <title>Регистация</title> </head> <body> <header> <div class="logo">Починим!</div> <nav><a href="login.php">Войти</a></nav> </header> <main> <h1>Регистрация</h1> <form action="index.php" method="post"> <label for="fullname">ФИО:</label> <input type="text" name="fullname" id="fullname" placeholder="фио" required> <label for="phone">Номер телефона:</label> <input type="tel" name="phone" id="phone" placeholder="8(XXX)-XXX-XX-XX" required> <label for="login">Логин:</label> <input type="text" name="login" id="login" placeholder="логин" required> <label for="password">Пароль:</label> <input type="password" name="pass" id="pass" placeholder="пароль" required> <?php if (isset($error_message)) echo '<div style="color: red;">' . $error_message . '</div>'; ?> <button type="submit">Зарегистрироваться</button> </form> </main> <script> let elem = document.getElementById("phone"); elem.addEventListener('input', function() { let x = elem.value.replace(/\D/g, '').match(/(\d{0,1})(\d{0,3})(\d{0,3})(\d{0,2})(\d{0,2})/); elem.value = !x[1] ? '' : 8 + '(' + x[2] + ')' + x[3] + '-' + x[4] + '-' + x[5]; }); </script> </body> </html>