Как подключить сверстанную форму регистрации к базе данных?
Я сверстал на своём сайте форму регистрации с полями «Логин», «E-mail», и «Пароль», которые находятся во всплывающем окне при клике на ссылку. Я смог установить базу данных MySQL и создал внутри таблицу с полями ID, Username, Email, Password. Как мне теперь сделать так, чтобы при вводе данных в форму, пользователь регистрировался, либо авторизировался на сайте.
Вот мой код
<ul>
<li><a onclick="show('block')" href="#">Регистрация</a></li>
</ul>
<div onclick="show('none')" id="gray"></div>
<div id="window">
<div class="form">
<form action="index.php" name="f1">
<input type="text" placeholder="Логин" name="Username" class="input">
<input type="email" placeholder="Email" name="Email" class="input">
<input type="password" placeholder="Пароль" name="Password" class="input">
<input type="password" placeholder="Подтвердите пароль" name="Password" class="input">
<input type="submit" value="Регистрация" name="sab" class="input"> Нажимая «Регистрация», вы подтверждаете, что прочитали и согласны с нашими Условиями Пользования и Политикой Конфиденциальности.
</form>
</div>
Ответы (1 шт):
- Пользователь может быть авторизован или зарегистрирован после отправки запроса на сервер.
- Сервер должен обработать ваш запрос с данными формы. На сервере вы можете выполнить абсолютно любую обработку.
- Регистрация и авторизация разные вещи. Регистрация может пройти без последующей авторизации.
В вашей форме указан скрипт index.php. Значит, этот скрипт должен обработать входные данные формы. Посмотрите пример: https://www.php.net/manual/ru/tutorial.forms.php
Ваша форма отправляет запрос в виде GET-запроса, а значит ее данные передаются открыто в адресной строке, типа /index.php?name=yabik&[email protected]
Для такой формы рекомендуется указывать метод POST.
<form action="index.php" name="f1">
Соответственно на сервере вы обратитесь к значениям так: $_POST['Username'];
<?php
echo $_POST['Username'];
Обратите внимание, имена чувствительны к регистру, т.е. Username и username разные значения.
После того, как вы обработаете форму, вы должны установить соединение с БД: https://www.php.net/manual/ru/mysqli.construct.php После установки соединения вы уже можете отправить запрос и закрыть соединение (здесь тоже пример соединения): https://www.php.net/manual/ru/mysqli.query.php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
mysqli_query($mysqli, "INSERT INTO users (name,password) VALUES($name,$password);");
С помощью SQL запроса вы должны вставить запись в БД (это для регистрации): https://dev.mysql.com/doc/refman/8.0/en/insert.html Для вставки укажите свои поля таблицы, свою таблицу и значения переданные с формы.
Таким же образом, но другим запросом, вы должны получить или сверить данные с БД.
Эти примеры можно использовать в качестве ознакомления, в учебных целях, но не рекомендую использовать их в реальном проекте, т.к. пароль требуется шифровать, эти запросы не защищены от SQL-инъекций.
