Simple Registration Form in PHP with Validation

PHP: Форма входа и регистрации в PHP + MySQL

Простая форма входа и регистрации в PHP + MySQL + Boostrap. В этом руководстве вы узнаете, как создать простую форму входа и регистрации в PHP + MySQL. Мы будем использовать локальный сервер OpenServer

Шаг 1 — Откройте панель управления сервера и создайте проект PHP

Посетите каталог OpenServer/domains. И внутри этого каталога создайте каталог проекта php (назовите его например: auth.loc). Затем перезагрузите сервер, для того, чтобы в списке «Мои проекты» у вас появился ваш только что созданный проект.

Шаг 2 — Создайте базу данных и таблицу

Перейдите в панель управления сервером во вкладку «Дополнительно -> PhpMyAdmin«. Авторизуйтесь в ней и создайте базу данных с именем my_db и выполните приведенный ниже запрос в своей базе данных. Приведенный ниже запрос создаст таблицу с именем users в вашей базе данных со следующими полями, такими как uid, name, email, mobile:

CREATE DATABASE my_db; CREATE TABLE `users` ( `uid` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `mobile` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Шаг 3 — Создайте файл подключения к базе данных

Создайте файл с именем db.php и обновите приведенный ниже код в своем файле.

Читайте также:  Вывод текущего месяца php

Приведенный ниже код используется для создания подключения к базе данных MySQL в PHP. Когда вы вставляете данные формы в базу данных MySQL, вы подключаете туда этот файл:

Шаг 4 — Создайте регистрационную форму и вставьте данные в базу данных MySQL

Создать файл регистрационной формы с именем registration.php и добавьте в него следующий код:

 if (isset($_POST['signup'])) < $name = mysqli_real_escape_string($conn, $_POST['name']); $email = mysqli_real_escape_string($conn, $_POST['email']); $mobile = mysqli_real_escape_string($conn, $_POST['mobile']); $password = mysqli_real_escape_string($conn, $_POST['password']); $cpassword = mysqli_real_escape_string($conn, $_POST['cpassword']); if (!preg_match("/^[a-zA-Z ]+$/", $name)) < $name_error = "Name must contain only alphabets and space"; >if (!filter_var($email, FILTER_VALIDATE_EMAIL)) < $email_error = "Please Enter Valid Email ID"; >if (strlen($password) < 6) < $password_error = "Password must be minimum of 6 characters"; >if (strlen($mobile) < 10) < $mobile_error = "Mobile number must be minimum of 10 characters"; >if ($password != $cpassword) < $cpassword_error = "Password and Confirm Password doesn't match"; >if (mysqli_query($conn, "INSERT INTO users(name, email, mobile_number ,password) VALUES('" . $name . "', '" . $email . "', '" . $mobile . "', '" . md5($password) . "')")) < header("location: login.php"); exit(); >else < echo "Error: " . mysqli_error($conn); >mysqli_close($conn); > ?>       

Registration Form in PHP with Validation

Please fill all fields in the form

Already have a account?Login

Шаг 5 — Создайте форму входа в PHP с MySQL

Создайте форму входа в систему, в которой вы принимаете идентификатор электронной почты и пароль пользователя и аутентифицируете пользователей из базы данных. Таким образом, вы можете создать файл login.php и добавить в свой файл приведенный ниже код:

 if (isset($_POST['login'])) < $email = mysqli_real_escape_string($conn, $_POST['email']); $password = mysqli_real_escape_string($conn, $_POST['password']); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) < $email_error = "Please Enter Valid Email ID"; >if (strlen($password) < 6) < $password_error = "Password must be minimum of 6 characters"; >$result = mysqli_query($conn, "SELECT * FROM users WHERE email = '" . $email . "' and pass = '" . md5($password) . "'"); if (!empty($result)) < if ($row = mysqli_fetch_array($result)) < $_SESSION['user_id'] = $row['uid']; $_SESSION['user_name'] = $row['name']; $_SESSION['user_email'] = $row['email']; $_SESSION['user_mobile'] = $row['mobile']; header("Location: dashboard.php"); >> else < $error_message = "Incorrect Email or Password. "; >> ?>       

Login Form in PHP with Validation

Please fill all fields in the form


You don't have account?Click Here

Шаг 6 — Создайте профиль пользователя и получите данные из базы данных

Создайте новый файл с именем dashboard.php и добавьте в него приведенный ниже код.

Приведенный ниже код используется для отображения данных пользователя, вошедшего в систему.

 ?>       
Name :- Email :- Mobile :- Logout

Шаг 7 — Создайте файл Logout.php

Создайте файл logout.php и обновите приведенный ниже код в свой файл.

Приведенный ниже код используется для уничтожения входа в систему и выхода из системы.

Простая форма входа и регистрации на php с базой данных mysql с использованием OpenServer; В этом руководстве вы узнали, как создать простую систему входа, регистрации и выхода из системы в PHP MySQL с проверкой. Кроме того, вы узнали, как аутентифицировать и выходить из системы вошедших в систему пользователей в PHP.

Источник

Как подключиться к БД в файле php, используя OpenServer?

Выдает ошибку Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\OpenServer\domains\PHPNews\data.php on line 25
Указывает на цикл while. Но причина не в нем, т.к. в $result нет данных из БД. Я предполагаю что не работает подключение к БД. В чем может быть причина?

 $result = mysqli_query($con, "SELECT * FROM publications"); while ($row = mysqli_fetch_array($result))

Оценить 2 комментария

Rou1997

Причина всегда в вашем мозге.

Вы не предполагайте, вы делайте проверку connect так же как в документации, если мало опыта то еще примените анализ то есть проверьте другие SQL-запросы, тогда будете уверены.

В нем false судя по всему, очевидно проблема с таблицей, хотя она может быть лишь следствием, а причина например в перепутанной БД , самое простое — создать новую БД, в ней новую таблицу и тогда точно убедиться.

Rou1997

Ну, и на всякий случай, проверьте require_once ‘classes.php’; , это самое маловероятное, но когда неопытные люди берутся писать свои «classes» то бывает и не такое.

DevMan

если бы не работал конект, то вываливалось бы «Faild to connect to MySQL:».
ошибка из-за того, что mysqli_query возвращает false:

Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.

Источник

Оцените статью