Membuat Sistem Login Sederhana Menggunakan Php & Mysql

Halo Sobat sicode,

Dalam posting ini kita akan membuat sistem login PHP MySQL sangat sederhana. Pada awalnya, kita membuat script yang akan menampilkan form pendaftaran kepada pengguna dan menyimpan data user yang diisi melalui formulir ke dalam database MySQL. Kemudian kita akan membuat sebuah halaman login untuk memasukkan username dan password  pengguna, sehinga user dapat masuk ke dalam sistem melalui kombinasi username & password yang benar.

Langkah pertama dalam tutorial membuat sistem login sederhana ini adalah, kita perlu membuat sebuah database MySQL, pada tutorial ini sicode membuat database dengan nama  "php_mysql_login_system" (atau tentu saja Anda dapat menggunakan nama yang lain). Setelah itu, membuat tabel dalam database dengan nama "user", informasi semua pengguna terdaftar 'akan disimpan di sini. Gunakan SQL query berikut di bawah ini untuk membuat tabel.


CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Untuk membuat database anda juga dapat menggunakan phpmyadmin, untuk cara membuat database menggunakan phpmyadmin, silahkan baca disini.

Langkah selanjutnya adalah membuat file form registrasi. file ini kita beri nama db_const.php, source codenya seperti dibawah ini :
<?php
# mysql db constants DB_HOST, DB_USER, DB_PASS, DB_NAME
const DB_HOST = 'SERVER';
const DB_USER = 'USER';
const DB_PASS = 'PASSWORD';
const DB_NAME = 'php_mysql_login_system';
?>

 

Selanjutnya adalah membuat file register.php, source codenya seperti di bawah ini :
<html>
<head>
<title>Registrasi User | sicode.wrdpress.com</title>
</head>
<body>
<h1>Registrasi User | sicode.wrdpress.com</h1>
<?php
require_once("db_const.php");
if (!isset($_POST['submit'])) {
?> <!-- The HTML registration form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
First name: <input type="text" name="first_name" /><br />
Last name: <input type="text" name="last_name" /><br />
Email: <input type="type" name="email" /><br />

<input type="submit" name="submit" value="Register" />
</form>
<?php
} else {
## connect mysql server
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
## query database
# prepare data for insertion
$username = $_POST['username'];
$password = $_POST['password'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];

# check if username and email exist else insert
$exists = 0;
$result = $mysqli->query("SELECT username from users WHERE username = '{$username}' LIMIT 1");
if ($result->num_rows == 1) {
$exists = 1;
$result = $mysqli->query("SELECT email from users WHERE email = '{$email}' LIMIT 1");
if ($result->num_rows == 1) $exists = 2;
} else {
$result = $mysqli->query("SELECT email from users WHERE email = '{$email}' LIMIT 1");
if ($result->num_rows == 1) $exists = 3;
}

if ($exists == 1) echo "<p>Username sudah terpakai!</p>";
else if ($exists == 2) echo "<p>Username dan Email sudah terpakai!</p>";
else if ($exists == 3) echo "<p>Email sudah terpakai!</p>";
else {
# insert data into mysql database
$sql = "INSERT INTO `users` (`id`, `username`, `password`, `first_name`, `last_name`, `email`)
VALUES (NULL, '{$username}', '{$password}', '{$first_name}', '{$last_name}', '{$email}')";

if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
}
?>
</body>
</html>

 

Langkah selanjutnya adalah membuat form login, ketik scriptnya dan simpan file dengan nama login.php, source codenya seperti dibawah ini :
<html>
<head>
<title>Form Login User | sicode.worpress.com</title>
</head>
<body>
<h1>Form Login User | sicode.worpress.com</h1>
<?php
if (!isset($_POST['submit'])){
?>
<!-- The HTML login form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />

<input type="submit" name="submit" value="Login" />
</form>
<?php
} else {
require_once("db_const.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}

$username = $_POST['username'];
$password = $_POST['password'];

$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
echo "<p>Username atau password yang anda masukan tidak sesuai</p>";
} else {
echo "<p>Login sukses</p>";
// do stuffs
}
}
?>
</body>
</html>

 

Penjelasan : Bagaimana sistem login php & mysql ini bekerja

Pada tahap awal kita telah membuat sebuah formulir pendaftaran yang sederhana dan berfungsi untuk menyimpan beberapa informasi pengguna ke database MySQL. Asumsikan bahwa setiap pengguna memiliki username dan alamat email yang unik (meskipun belum divalidasi melalui formulir pendaftaran).


Dalam form login, kita mengambil username dan kombinasi password dari pengguna. Kemudian script akan melakukan query database MySQL dengan username dan kombinasi password yang dimasukan pengguna. Setelah itu, jika kombinasi tersebut cocok dengan salah satu user, maka pengguna akan berhasil login, jika tidak, itu menunjukan ada kesalahan data yang dimasukkan pengguna.

Kami harap artikel ini dapat membantu Anda. Jika Anda membutuhkan bantuan lebih lanjut, silakan komentar di bawah ini.

Terima kasih!

Share

& Comment

0 comments:

Posting Komentar

Download It from Here

Designed by: Templatezy