Create Database and table
-- Database: `scholarship` -- Table structure for table `students` -- CREATE TABLE `students` ( `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREAMENT, `name` varchar(50) NOT NULL, `email` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `phone` varchar(50) NOT NULL, `registration_date` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Create Database Connection file using OOP Concepts
database.php
<?php class Database{ protected $localhost = "localhost"; protected $servername = "root"; protected $password = ""; protected $database = "scholarship"; public $con; public function connection(){ // Create connection $this->con = new mysqli($this->localhost, $this->servername, $this->password, $this->database); // Check connection if ($this->con->connect_error) { die("Connection failed: " . $this->con->connect_error); } return $this->con; } } ?>
Create User Registration or Sign Up For
index.php
<!DOCTYPE html> <html lang="en"> <head> <title>Create User Registration and Login using PHP Oops Concepts</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <?php include_once "class/students.php"; $studentObj = new Students(); $success = ""; $error = ""; if (isset($_POST['submit'])) { $newdata['name'] = $_POST['name']; $newdata['email'] = $_POST['email']; $newdata['password'] = md5($_POST['password']); $newdata['phone'] = $_POST['phone']; $newdata['registration_date'] = date('Y-m-d'); if (!$studentObj->isUserPhoneNumberExists($newdata['phone'])) { if (!$studentObj->isUserExist($newdata['email'])) { if ($studentObj->registration($newdata)) { $success = "Your Registration Successfully Please login"; } else { $error = "Registration failed please try again!"; } } else { $error = "Email already exists! Please try again."; } } else { $error = "Phone No. already exists! Please try again."; } } ?> <body class="hold-transition register-page"> <div class="register-box"> <div class="register-logo"> <a href=""><b>Student</b> OSM</a> </div> <?php if (!empty($error)) { echo "<div class='alert alert-danger alert-dismissible'> <button type='button' class='close' data-dismiss='alert'>×</button>$error </div>"; } elseif (!empty($success)) { echo "<div class='alert alert-success alert-dismissible'> <button type='button' class='close' data-dismiss='alert'>×</button>$success </div>"; } ?> <div class="card"> <div class="card-body register-card-body"> <p class="login-box-msg">Registration a new Student</p> <form action="" method="post"> <div class="input-group mb-3"> <input type="text" name="name" class="form-control" placeholder="Full name" required=""> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-user"></span> </div> </div> </div> <div class="input-group mb-3"> <input type="email" name="email" class="form-control" placeholder="Email" required=""> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-envelope"></span> </div> </div> </div> <div class="input-group mb-3"> <input type="password" name="password" class="form-control" placeholder="Password" required=""> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-lock"></span> </div> </div> </div> <div class="input-group mb-3"> <input type="text" name="phone" class="form-control" placeholder="Phone Number" required="" maxlength="10"> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-phone"></span> </div> </div> </div> <div class="row"> <div class="col-8"> <a href="login.php" class="text-center">Already have an account?</a> </div> <div class="col-md-4"> <input type="submit" name="submit" class="btn btn-primary btn-block" value="Sign Up"> </div> </div> </form> </div> </div> </div> </body> </html>
Output

Create User Login or Signup Form
login.php
<!DOCTYPE html> <html lang="en"> <head> <title>Create User Registration and Login using PHP Oops Concepts</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <?php include_once "class/students.php"; if(isset($_SESSION['id'])) { header("Location:home.php"); } $studentObj = new Students(); $success = ""; $error = ""; if (isset($_POST['submit'])) { $newdata['email'] = $_POST['email']; $newdata['password'] = $_POST['password']; if ($studentObj->login($newdata)) { if (!isset($_SESSION['id'])) { header("Location:student_profile.php"); } else { header("Location:home.php"); } }else{ $error = "Incorrect Email or Password"; } } ?> <body class="hold-transition login-page"> <div class="login-box"> <div class="login-logo"> <a href=""><b>Student</b> OSM</a> </div> <?php if (!empty($error)){ echo "<div class='alert alert-danger alert-dismissible'> <button type='button' class='close' data-dismiss='alert'>×</button>$error </div>"; } ?> <div class="card"> <div class="card-body login-card-body"> <p class="login-box-msg">Sign in to start your session</p> <form action="" method="post"> <div class="input-group mb-3"> <input type="text" name="email" class="form-control" placeholder="Email" required=""> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-envelope"></span> </div> </div> </div> <div class="input-group mb-3"> <input type="password" name="password" class="form-control" placeholder="Password" required=""> <div class="input-group-append"> <div class="input-group-text"> <span class="fa fa-lock"></span> </div> </div> </div> <div class="row"> <div class="col-8"> <div class="icheck-primary"> <a href="index.php" class="text-center">Don't have an account?</a> </div> </div> <div class="col-4"> <input type="submit" name="submit" class="btn btn-primary btn-block" value="Sign In"> </div> </div> </form> </div> </div> </div> </body> </html>
Output

Create a Students class file for function like Registration, login, email and phone number availability
students.php
<?php session_start(); include_once "database.php"; class Students { public $studentTable; public $dbObj; public $con; public function __construct() { $this->studentTable = "students"; $this->dbObj = new Database(); $this->con = $this->dbObj->connection(); } /* student registration method */ public function registration() { $name = $_POST['name']; $email = $_POST['email']; $password = md5($_POST['password']); $phone = $_POST['phone']; $registr_date = date('Y-m-d'); $query ="INSERT INTO $this->studentTable (name, email, password, phone, registration_date) VALUES('$name', '$email', '$password', '$phone', '$registr_date')"; if ($this->con->query($query)) { return true; } else { return false; } } /* student login method */ public function login() { $email = $_POST['email']; $password = md5($_POST['password']); $query = "SELECT * FROM $this->studentTable WHERE email = '$email' && password = '$password'"; $result = $this->con->query($query); while ($student_data = $result->fetch_assoc()) { $_SESSION['id'] = $student_data['id']; $_SESSION['name'] = $student_data['name']; } if ($result->num_rows > 0) { return true; } else { return false; } } /* check If email is exists */ public function isUserExist($email) { $query = "SELECT * FROM $this->studentTable WHERE email ='$email'"; $result = $this->con->query($query); if ($result->num_rows > 0) { return true; } else { return false; } } /*check if phone number is exists */ public function isUserPhoneNumberExists($phone){ $query = "SELECT * FROM $this->studentTable WHERE phone = '$phone'"; $result = $this->con->query($query); if ($result->num_rows > 0) { return true; }else { return false; } } } $studentObj = new Students();
Create logout page file for logout.
logout.php
<?php session_start(); session_destroy(); session_unset($_SESSION['usre_id']); session_unset($_SESSION['name']); header("Location:login.php"); ?>
You can always support by sharing on social media or recommending my blog to your friends and colleagues. If you have any suggestions / problems about this tutorial, please comment on the form below.😊
Usually I don’t learn post oon blogs, but І woulod ⅼike
to say that tһіs wrіte-up very pressured me to take
a look at and do sο! Ⲩoᥙr writing taste has Ьeen surprised mе.
Thanks, very nice post.
I think the admin of this website іs in fact working һard in support of һіs website,
ɑѕ hеre every informɑtion is quality based data.
Where is admin?
It is about advertisement on your website.
Thank.
Yes I am there which type of advertisement?
webscodex7@gmail.com. This is my email id please email me.
Can I contact admin??
It is about advertisement on your website.
Regards.