By GokiSoft.com| 19:40 26/09/2020|
Học PHP

[Share Code] Hướng dẫn tạo database, table - đăng ký - đăng nhập trong PHP - Lập trình PHP MySQL

#guideline.txt


- Tạo database từ code
- Tạo 1 bảng user từ code
- Tạo trang register
- Tạo trang login
- Login thành công => hiển thị danh sách người dùng.
- Nếu đã login => khi vào trang register/login => tự động chuyển sang trang welcome
- Trường hợp => welcome => nếu người dùng chưa đăng nhập => nhẩy ra trang login
- Thêm chức năng logout.

===================================
Kiến thức:
	- PHP/MySQL
	- Cookie/Session

===================================
Bắt đầu
===================================


#config.php


<?php
define('HOST', 'localhost');
define('USERNAME', 'root');
define('PASSWORD', '');
define('DATABASE', 'C2002L');
define('CODE_GEN', '21389JKJKGH8768976#$@#$@jhdassdjgfdjsfgsdj');


#dbhelper.php


<?php
require_once ('config.php');

function createDatabase() {
	//save data into table
	// open connection to database
	$con = mysqli_connect(HOST, USERNAME, PASSWORD);
	//insert, update, delete
	$sql = 'CREATE DATABASE IF NOT EXISTS '.DATABASE;
	mysqli_query($con, $sql);

	//close connection
	mysqli_close($con);
}

function execute($sql) {
	//save data into table
	// open connection to database
	$con = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
	//insert, update, delete
	mysqli_query($con, $sql);

	//close connection
	mysqli_close($con);
}

function executeResult($sql) {
	//save data into table
	// open connection to database
	$con = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);
	//insert, update, delete
	$result = mysqli_query($con, $sql);
	$data   = [];
	while ($row = mysqli_fetch_array($result, 1)) {
		$data[] = $row;
	}

	//close connection
	mysqli_close($con);

	return $data;
}


#login.php


<?php
	session_start();
	if(isset($_SESSION['userinfor'])) {
		header('Location: welcome.php');
		die();
	}
	if(!empty($_POST)) {
		require_once('dbhelper.php');

		$email = $password = '';
		if(isset($_POST['email'])) {
			$email = $_POST['email'];
		}
		if(isset($_POST['password'])) {
			$password = $_POST['password'];
		}
		
		if(!empty($email)) {
			$password = md5(md5($password).CODE_GEN);
			$sql = "select * from users where email = '$email' and password = '$password'";
			$result = executeResult($sql);
			if($result != null && count($result) > 0) {
				//login success
				$_SESSION['userinfor'] = $result[0];
				header('Location: welcome.php');
				die();
			}
		}
	}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Registation Form * Form Tutorial</title>
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

	<!-- jQuery library -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

	<!-- Popper JS -->
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

	<!-- Latest compiled JavaScript -->
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
		<div class="panel panel-primary">
			<div class="panel-heading">
				<h2 class="text-center">Registation Form - Input User's Detail Information</h2>
			</div>
			<div class="panel-body">
				<form method="post">
					<div class="form-group">
					  <label for="email">Email:</label>
					  <input required="true" type="email" class="form-control" id="email" name="email">
					</div>
					<div class="form-group">
					  <label for="pwd">Password:</label>
					  <input required="true" type="password" class="form-control" id="pwd" name="password">
					</div>
					<button class="btn btn-success">Login</button>
				</form>
			</div>
		</div>
	</div>
</body>
</html>


#logout.php


<?php
session_start();
session_destroy();
header('Location: login.php');


#register.php


<?php
	session_start();
	if(isset($_SESSION['userinfor'])) {
		header('Location: welcome.php');
		die();
	}
	if(!empty($_POST)) {
		require_once('dbhelper.php');

		$name = $email = $password = $confirmation_pwd = '';
		if(isset($_POST['name'])) {
			$name = $_POST['name'];
		}
		if(isset($_POST['email'])) {
			$email = $_POST['email'];
		}
		if(isset($_POST['password'])) {
			$password = $_POST['password'];
		}
		if(isset($_POST['confirmation_pwd'])) {
			$confirmation_pwd = $_POST['confirmation_pwd'];
		}
		
		if($password == $confirmation_pwd && !empty($name) && !empty($email)) {
			$password = md5(md5($password).CODE_GEN);
			$sql = "insert into users(name, email, password) values ('$name', '$email', '$password')";
			execute($sql);
		}
	}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Registation Form * Form Tutorial</title>
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

	<!-- jQuery library -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

	<!-- Popper JS -->
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

	<!-- Latest compiled JavaScript -->
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
		<div class="panel panel-primary">
			<div class="panel-heading">
				<h2 class="text-center">Registation Form - Input User's Detail Information</h2>
			</div>
			<div class="panel-body">
				<form method="post">
					<div class="form-group">
					  <label for="usr">Name:</label>
					  <input required="true" type="text" class="form-control" id="usr" name="name">
					</div>
					<div class="form-group">
					  <label for="email">Email:</label>
					  <input required="true" type="email" class="form-control" id="email" name="email">
					</div>
					<div class="form-group">
					  <label for="pwd">Password:</label>
					  <input required="true" type="password" class="form-control" id="pwd" name="password">
					</div>
					<div class="form-group">
					  <label for="confirmation_pwd">Confirmation Password:</label>
					  <input required="true" type="password" class="form-control" id="confirmation_pwd" name="confirmation_pwd">
					</div>
					<button class="btn btn-success">Register</button>
				</form>
			</div>
		</div>
	</div>
</body>
</html>


#tools.php


<?php
	session_start();
	require_once('dbhelper.php');

	if(!empty($_POST)) {
		$action = '';
		if(isset($_POST['action'])) {
			$action = $_POST['action'];
		}

		if($action == 'database') {
			//create database
			createDatabase();
		} else if($action == 'table') {
			//create table
			$sql = 'create table if not exists users (
					id int primary key auto_increment,
					name varchar(50),
					email varchar(150),
					password varchar(50)
				)';
			execute($sql);
		}
	}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Tools Database</title>
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

	<!-- jQuery library -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

	<!-- Popper JS -->
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

	<!-- Latest compiled JavaScript -->
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
		<div class="panel panel-primary">
			<div class="panel-heading">
				<h2 class="text-center">Tools Database</h2>
			</div>
			<div class="panel-body" style="text-align: center;">
				<form method="post">
					<button class="btn btn-warning" name="action" value="database">Create Database</button>
					<button class="btn btn-danger" name="action" value="table">Create Table</button>
				</form>
			</div>
		</div>
	</div>
</body>
</html>


#welcome.php


<?php
	session_start();
	if(!isset($_SESSION['userinfor'])) {
		header('Location: login.php');
		die();
	}

	if(!empty($_POST)) {
		require_once('dbhelper.php');
	}
	$user = null;
	$name = '';
	if(isset($_SESSION['userinfor'])) {
		$user = $_SESSION['userinfor'];
		$name = $user['name'];
	}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Registation Form * Form Tutorial</title>
	<!-- Latest compiled and minified CSS -->
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

	<!-- jQuery library -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

	<!-- Popper JS -->
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>

	<!-- Latest compiled JavaScript -->
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>
	<div class="container">
		<div class="panel panel-primary">
			<div class="panel-heading">
				<h2 class="text-center">Welcome <strong><?=$name?></strong></h2>
				<a href="logout.php"><h3 class="text-center">Logout</h3></a>
			</div>
			<div class="panel-body">
				<h2>Hien thi danh sach nguoi dung -> Tu Code</h2>
			</div>
		</div>
	</div>
</body>
</html>


Tags:

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)