Admin login php intitle panel admin

Hari ini kita akan membangun sistem pendaftaran yang melacak pengguna mana yang admin dan mana pengguna biasa. Pengguna normal dalam aplikasi kami tidak diizinkan untuk mengakses halaman admin. Semua pengguna (Admin serta pengguna biasa) menggunakan formulir yang sama untuk login. Setelah masuk, pengguna biasa dialihkan ke halaman indeks sementara pengguna admin dialihkan ke halaman admin

Jadi, mari kita mulai dengan membuat file, oke?

Admin login php intitle panel admin

Sekarang buka daftar. php di editor teks favorit Anda dan mari mulai menulis beberapa kode.  

Catatan. Bagian pertama dari tutorial ini sudah dibahas di postingan sebelumnya tentang pendaftaran pengguna. Anda dapat mengunjungi posting ini untuk penjelasan lebih lanjut tentang sistem pendaftaran pengguna. Kepada mereka yang telah mengikuti posting itu, saya minta maaf atas pengulangan di sini

 

 

Di register kosong kami. php, mari tambahkan kode ini

<!DOCTYPE html>
<html>
<head>
	<title>Registration system PHP and MySQL</title>
</head>
<body>
<div class="header">
	<h2>Register</h2>
</div>
<form method="post" action="register.php">
	<div class="input-group">
		<label>Username</label>
		<input type="text" name="username" value="">
	</div>
	<div class="input-group">
		<label>Email</label>
		<input type="email" name="email" value="">
	</div>
	<div class="input-group">
		<label>Password</label>
		<input type="password" name="password_1">
	</div>
	<div class="input-group">
		<label>Confirm password</label>
		<input type="password" name="password_2">
	</div>
	<div class="input-group">
		<button type="submit" class="btn" name="register_btn">Register</button>
	</div>
	<p>
		Already a member? <a href="login.php">Sign in</a>
	</p>
</form>
</body>
</html>

Jika kami menjalankan browser kami dan melihat ini, inilah yang kami dapatkan

Admin login php intitle panel admin

Itu tidak terlihat keren. Mari kita lakukan sesuatu tentang itu.  

Add a link to the css file right under the tag in the head section of the register.php file. Like so:

<link rel="stylesheet" href="style.css">
_

Kemudian buka gaya. css dan keluarkan kode css ini di dalamnya

* { margin: 0px; padding: 0px; }
body {
	font-size: 120%;
	background: #F8F8FF;
}
.header {
	width: 40%;
	margin: 50px auto 0px;
	color: white;
	background: #5F9EA0;
	text-align: center;
	border: 1px solid #B0C4DE;
	border-bottom: none;
	border-radius: 10px 10px 0px 0px;
	padding: 20px;
}
form, .content {
	width: 40%;
	margin: 0px auto;
	padding: 20px;
	border: 1px solid #B0C4DE;
	background: white;
	border-radius: 0px 0px 10px 10px;
}
.input-group {
	margin: 10px 0px 10px 0px;
}
.input-group label {
	display: block;
	text-align: left;
	margin: 3px;
}
.input-group input {
	height: 30px;
	width: 93%;
	padding: 5px 10px;
	font-size: 16px;
	border-radius: 5px;
	border: 1px solid gray;
}
#user_type {
	height: 40px;
	width: 98%;
	padding: 5px 10px;
	background: white;
	font-size: 16px;
	border-radius: 5px;
	border: 1px solid gray;
}
.btn {
	padding: 10px;
	font-size: 15px;
	color: white;
	background: #5F9EA0;
	border: none;
	border-radius: 5px;
}
.error {
	width: 92%; 
	margin: 0px auto; 
	padding: 10px; 
	border: 1px solid #a94442; 
	color: #a94442; 
	background: #f2dede; 
	border-radius: 5px; 
	text-align: left;
}
.success {
	color: #3c763d; 
	background: #dff0d8; 
	border: 1px solid #3c763d;
	margin-bottom: 20px;
}
.profile_info img {
	display: inline-block; 
	width: 50px; 
	height: 50px; 
	margin: 5px;
	float: left;
}
.profile_info div {
	display: inline-block; 
	margin: 5px;
}
.profile_info:after {
	content: "";
	display: block;
	clear: both;
}

Kode css ini akan digunakan untuk menata seluruh aplikasi kita

Jika kita me-refresh register. php di browser, kita mendapatkan keindahan ini

Admin login php intitle panel admin
 

Yang kami inginkan sekarang adalah pengguna mengisi formulir dan menekan tombol daftar sehingga info dapat disimpan di database. Jadi kita beralih ke langkah berikutnya

Mari buat database bernama multi_login. Dalam basis data multi_login, buat tabel bernama pengguna dengan bidang berikut

  • id - int(10)
  • nama pengguna - varchar(100)
  • email - varchar(100)
  • tipe_pengguna - varchar(100)
  • kata sandi - varchar(100)

Hanya itu yang kami butuhkan untuk database kami

Mari beralih ke register kita. php sekali lagi dan lakukan beberapa modifikasi

Pertama-tama, kita harus memastikan atribut metode formulir disetel ke posting dan atribut tindakan disetel ke register. php artinya ketika tombol daftar diklik, nilai formulir dikirimkan ke halaman yang sama

Mari sekarang menulis kode untuk menerima nilai-nilai ini dan menyimpannya dalam database. Tapi itu kebiasaan saya untuk menghindari, sebanyak mungkin, mencampur kode php dalam html jadi saya akan melanjutkan dan membuat fungsi. php untuk memasukkan kode ini ke dalam dan kemudian membuat kode ini tersedia di register. file php

Di bagian paling atas (baris pertama) register. php, tambahkan baris kode ini

<?php include('functions.php') ?>
//...

Also, we want that when the user doesn't enter the form values correctly, error messages should be displayed guiding them to do it correctly. In the same register.php file, right after the opening

tag, add this code

<form method="post" action="register.php">
	<?php echo display_error(); ?>
//...
</form>
_

display_error() adalah fungsi sederhana yang akan segera kita definisikan.  

Satu hal terakhir dalam register. file php. Ubah kolom input nama pengguna dan email dengan menyetel atribut nilainya ke variabel yang sesuai. Seperti itu

<input type="text" name="username" value="<?php echo $username; ?>">
<input type="email" name="email" value="<?php echo $email; ?>">

Kita akan segera mendefinisikan variabel $username dan $email

Sekarang buka fungsi kosong. php dan tambahkan kode ini di dalamnya

<?php 
session_start();

// connect to database
$db = mysqli_connect('localhost', 'root', '', 'multi_login');

// variable declaration
$username = "";
$email    = "";
$errors   = array(); 

// call the register() function if register_btn is clicked
if (isset($_POST['register_btn'])) {
	register();
}

// REGISTER USER
function register(){
	// call these variables with the global keyword to make them available in function
	global $db, $errors, $username, $email;

	// receive all input values from the form. Call the e() function
    // defined below to escape form values
	$username    =  e($_POST['username']);
	$email       =  e($_POST['email']);
	$password_1  =  e($_POST['password_1']);
	$password_2  =  e($_POST['password_2']);

	// form validation: ensure that the form is correctly filled
	if (empty($username)) { 
		array_push($errors, "Username is required"); 
	}
	if (empty($email)) { 
		array_push($errors, "Email is required"); 
	}
	if (empty($password_1)) { 
		array_push($errors, "Password is required"); 
	}
	if ($password_1 != $password_2) {
		array_push($errors, "The two passwords do not match");
	}

	// register user if there are no errors in the form
	if (count($errors) == 0) {
		$password = md5($password_1);//encrypt the password before saving in the database

		if (isset($_POST['user_type'])) {
			$user_type = e($_POST['user_type']);
			$query = "INSERT INTO users (username, email, user_type, password) 
					  VALUES('$username', '$email', '$user_type', '$password')";
			mysqli_query($db, $query);
			$_SESSION['success']  = "New user successfully created!!";
			header('location: home.php');
		}else{
			$query = "INSERT INTO users (username, email, user_type, password) 
					  VALUES('$username', '$email', 'user', '$password')";
			mysqli_query($db, $query);

			// get id of the created user
			$logged_in_user_id = mysqli_insert_id($db);

			$_SESSION['user'] = getUserById($logged_in_user_id); // put logged in user in session
			$_SESSION['success']  = "You are now logged in";
			header('location: index.php');				
		}
	}
}

// return user array from their id
function getUserById($id){
	global $db;
	$query = "SELECT * FROM users WHERE id=" . $id;
	$result = mysqli_query($db, $query);

	$user = mysqli_fetch_assoc($result);
	return $user;
}

// escape string
function e($val){
	global $db;
	return mysqli_real_escape_string($db, trim($val));
}

function display_error() {
	global $errors;

	if (count($errors) > 0){
		echo '<div class="error">';
			foreach ($errors as $error){
				echo $error .'<br>';
			}
		echo '</div>';
	}
}	
_

Mudah bukan?

Jika Anda mengamati dengan tajam, Anda sekarang dapat melihat perbedaan antara pengguna dan admin. Dalam fungsi register(), pengguna disimpan sebagai admin jika variabel user_type dikirim dalam permintaan postingan atau sebagai pengguna, jika tidak ada user_type yang dikirim. Karena formulir kita tidak memiliki kolom untuk user_type, jelas bahwa pengguna yang kita buat akan disimpan sebagai pengguna dan bukan admin

Ketika seorang pengguna terdaftar, kami mendapatkan id yang dimasukkan terakhir (id dari pengguna terdaftar) dan memasukkannya. Dari id pengguna, kita bisa mendapatkan semua atribut lain dari pengguna menggunakan fungsi getUserById(). Setelah mendapatkan pengguna, kami memasukkannya ke dalam variabel sesi sebagai larik yang disebut pengguna.  

Menyimpan pengguna dalam variabel sesi berarti pengguna tersedia meskipun Anda menyegarkan dan membuka halaman lain (tempat sesi telah dimulai). Variabel pengguna dalam sesi tidak hilang; . Segera hadir. )

Sekarang kembali ke formulir pendaftaran kami, Anda melihat bahwa ketika Anda memasukkan nilai dan mengklik tombol daftar, Anda diarahkan ke indeks. halaman php. Tapi itu kosong. Jadi mari kita membuatnya terlihat seperti halaman indeks

Buka indeks. php di editor teks Anda dan masukkan kode berikut di dalamnya

<?php 
	include('functions.php');
?>
<!DOCTYPE html>
<html>
<head>
	<title>Home</title>
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<div class="header">
		<h2>Home Page</h2>
	</div>
	<div class="content">
		<!-- notification message -->
		<?php if (isset($_SESSION['success'])) : ?>
			<div class="error success" >
				<h3>
					<?php 
						echo $_SESSION['success']; 
						unset($_SESSION['success']);
					?>
				</h3>
			</div>
		<?php endif ?>
		<!-- logged in user information -->
		<div class="profile_info">
			<img src="images/user_profile.png"  >

			<div>
				<?php  if (isset($_SESSION['user'])) : ?>
					<strong><?php echo $_SESSION['user']['username']; ?></strong>

					<small>
						<i  style="color: #888;">(<?php echo ucfirst($_SESSION['user']['user_type']); ?>)</i> 
						<br>
						<a href="index.php?logout='1'" style="color: red;">logout</a>
					</small>

				<?php endif ?>
			</div>
		</div>
	</div>
</body>
</html>

Sekarang jika Anda mendaftarkan pengguna baru, mereka akan masuk dan mengarahkan mereka ke halaman indeks yang terlihat seperti ini

Admin login php intitle panel admin

Itu terlihat keren

Hanya satu masalah kecil. Jika seseorang mengetik url yang tepat untuk indeks ini. php di browser, mereka akan dapat mengakses halaman ini bahkan tanpa masuk. Kami tidak menginginkannya bukan?

Mari kunjungi fungsi kita. php sekali lagi dan tambahkan fungsi ini di bagian bawah file

function isLoggedIn()
{
	if (isset($_SESSION['user'])) {
		return true;
	}else{
		return false;
	}
}
_

Fungsi ini saat dipanggil, memberi tahu Anda jika pengguna masuk atau tidak dengan mengembalikan benar atau salah

Buka indeks. php (atau file apa pun yang Anda inginkan hanya dapat diakses oleh pengguna yang masuk) dan rekatkan kode ini tepat setelah pernyataan sertakan di bagian atas file

<?php
include('functions.php');
if (!isLoggedIn()) {
	$_SESSION['msg'] = "You must log in first";
	header('location: login.php');
}

//...
_

Jika pengguna tidak masuk dan mencoba mengakses halaman ini, mereka secara otomatis dialihkan ke halaman login

Untuk mengeluarkan pengguna, mari tambahkan kode ini di fungsi. file php

<link rel="stylesheet" href="style.css">
_0

Pada titik ini kita dapat mengatakan bahwa kita telah selesai dengan pendaftaran pengguna

Untuk melakukan login pengguna bahkan lebih mudah.  

Buka info masuk Anda. php dan rekatkan kode ini di dalamnya

<link rel="stylesheet" href="style.css">
_1

Satu hal lagi, tambahkan pernyataan if ini dan fungsi ini di dalam fungsi. php

<link rel="stylesheet" href="style.css">
_2

Pada dasarnya apa yang dilakukan ini. jika tombol login diklik, fungsi login() dipanggil yang memasukkan pengguna. Perhatikan bahwa ketika pengguna masuk, itu juga melakukan pemeriksaan. jika pengguna adalah admin, itu mengarahkan mereka ke admin/rumah. halaman php. Namun, jika itu hanya pengguna biasa, dia dialihkan ke index. halaman php

Sekarang mari mulai bekerja di situs admin. Kita akan menggunakan file di folder admin (create_user dan home. php). File-file ini hanya tersedia untuk pengguna admin, yang berarti hanya admin yang dapat membuat admin lain.  

Buka create_user. php dan rekatkan kode ini di dalamnya

<link rel="stylesheet" href="style.css">
_3

Selain penataan gaya, perbedaan utama antara halaman ini dan halaman daftar adalah kolom pilihan-pilihan di create_user. halaman php yang mengizinkan admin untuk menentukan tipe pengguna. Oleh karena itu seorang admin dapat membuat user biasa dan juga seorang admin

Saya akan melanjutkan dan menempelkan kode rumah yang lengkap. php di dalam file. Ini dia

<link rel="stylesheet" href="style.css">
_4

Di bagian atas file ini, ada pernyataan if yang memeriksa apakah pengguna adalah admin (menggunakan fungsi isAdmin()). Mari tambahkan fungsi itu ke fungsi kita. file php

<link rel="stylesheet" href="style.css">
_5

Sekarang Anda mungkin berkata, jika hanya seorang admin yang dapat membuat admin lain, lalu siapa yang membuat admin pertama. Nah untuk membuat admin pertama, kamu bisa membuat user biasa menggunakan formulir pendaftaran, lalu gunakan klien mysql seperti phpmyadmin atau command prompt mysql dan ubah user_type menjadi admin. Dengan begitu Anda akan dapat masuk sebagai admin dan membuat admin lain

Sesederhana itu, kita selesai membangun sistem yang mengelola pengguna normal bersama pengguna admin.  

Kesimpulan

Saya harap tutorial ini bermanfaat bagi Anda. Saya senang Anda benar-benar mengikutinya sampai akhir. Jangan ragu untuk memeriksa kodenya, sesuaikan dengan kebutuhan Anda dan gunakan dalam proyek Anda. Jika Anda memiliki masalah atau komentar atau komentar apa pun tentang tutorial ini, tinggalkan di komentar di bawah

Bagaimana cara membuat login admin di PHP?

Masukkan informasi login admin. Di sini, kami memasukkan dua catatan di tabel kami. Anda dapat menambahkan sebanyak yang Anda inginkan. Atau salin dan tempel kode berikut untuk menyisipkan rekaman ke panel SQL. INSERT INTO `adminlogin` (`id`, `username`, `password`) NILAI (NULL, 'admin', 'admin'), (NULL, 'admin2', 'admin2'

Bagaimana cara masuk ke panel admin saya?

Ketik kata sandi administrator Anda ke dalam bidang teks "Kata Sandi", yang biasanya tepat di bawah bidang "Nama Pengguna" atau "Email". Klik tombol "Masuk" . Biasanya berada di bawah kolom teks "Password". Setelah itu, Anda akan masuk ke panel administrator situs web.

Bagaimana cara menjadikan seseorang sebagai admin dan login pengguna?

Pilih Mulai > Pengaturan > Akun
Di bawah Keluarga & pengguna lain, pilih nama pemilik akun (Anda akan melihat "Akun lokal" di bawah nama), lalu pilih Ubah jenis akun. .
Di bawah Jenis akun, pilih Administrator, lalu pilih OK
Masuk dengan akun administrator baru

Bagaimana cara login pengguna di PHP?

Untuk menjalankan formulir login, buka panel kontrol xampp dan jalankan server apache dan PHP. Sekarang, ketikkan localhost/xampp/nama folder/nama file di browser dan tekan tombol Enter. Semua pengaturan selesai sekarang. Masukkan nama pengguna dan kata sandi di formulir login dan klik tombol login