Membuat Login Dan Register Dengan PHP


Dalam sebuah website tentunya tidak asing lagi dengan Login ataupun Register, di sebuah website banyak sekali sistem yang mereka pakai untuk membuat hal tersebut, sistem Login sendiri mempunyai fungsi yang banyak, bisa di pakai untuk Pendataan, di pakai untuk langganan, ataupun di pakai untuk keamanan.



Login kalau dalam sistemnya hanya untuk memverifikasi apakah data yang di input sama dengan data yang ada di database, biasanya login hanya mengunakan 2 data saja yaitu berupa Email dan Password, jika data yang input tidak ada maka Users tidak bisa masuk pada website tersebut. Lalu bagaimana dengan Register apa gunanya?. Ya gunanya untuk mencantumkan / menambah data ke dalam database, tentunya tidak ada dalam database. Kenapa ? , Jawabannya pasti agar tidak ada data yang bertubrukan, dan juga tidak ada data duplikat, dengan begitu data yang tersimpan di database akan ringan.



Sepertinya sampai disana dulu penjelasanya, kita masuk pada Pemogramannya, Dalam Website Berbagai bahasa pemograman tapi kita akan mengunakan PHP sebagai Bahasanya, Dan Mysql Sebagai databasenya, seperti yang di atas kita akan membuat login dan register.


1. Langkah pertama kita akan membuat sebuah database untuk nantinya dipakai untuk menyimpan data user
2. Untuk Selanjutnya siapkan folder projek kita.

Seperti biasa karena kita memakai Xampp, kita pergi Ke Localdisk C >> Xampp >> Htdocs >> buat tuh disana.

3. Untuk sekarang kita tidak memakai style yang bagus cukup buat aja sendiri, kita fokus ke strukturnya. 

4. Buat lah file index.php, login.php, register.php, koneksi.php, style.css
Ada dua cara untuk membuat hal tersebut, anda bisa langsung buat di Foldernya.
Atau Anda Masuk Dalam Sofware Visual Studio Code.
5. Setelah filenya sudah dibuat, kita akan berurusan dulu dengan index.php dan styles.css

Index.php

	<?php 
	//Menghilangkan Error
	error_reporting(0);
	//Memulai Session Untuk Penggunaan Data Login
	session_start();
	?>
	<!DOCTYPE html>
	<html lang="en">
	<head>
	    <meta charset="UTF-8">
	    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	    <meta http-equiv="X-UA-Compatible" content="ie=edge">
	    <link rel="stylesheet" href="styles.css">
	</head>
	<body>
	    <div class="menu">
	        <ul>
	            <li><a href="?page">Home</a></li>
	            <?php
	            //Manampilkan Nama Data Login
	            if($_SESSION['nama']){
	                echo "<li><a>".$_SESSION['nama']."</a></li>";
	            }else{
	            ?>
	            <li><a href="?page=login">Login</a></li>
	            <li><a href="?page=register">Register</a></li>
	            <?php }?>
	        </ul>
	    </div>
	    <div class="main">
	        <!-- Konten -->
	        <?php 
	            //Koneksi Ke Database
	            include_once("koneksi.php");
	            $page = $_GET['page'];
	            if($page == "logout"){
	                //Menghapus Data Login
	                session_destroy();
	                echo '<script type="text/javascript">
	                window.location ="index.php"</script>';
	            }else if($page){
	                include($page.'.php');
	                echo "<title>$title</title>";
	            }else if($_SESSION['nama']){
	                echo "<title>Source Code Login / Register</title>";
	                echo "<h3>".$_SESSION['nama']."</h3> <a href='?page=logout'> LOG OUT</a><br/>";
	                if($_SESSION['level']==1){
	                    echo "LEVEL : Administrator";
	                }else if($_SESSION['level']==2){
	                    echo "LEVEL : Users";
	                }
	            }else{
	                echo "<title>Source Code Login / Register</title>";
	                echo "<h4>Terima Kasih Sudah Mencoba Open Source Auth Ini,<br/> Untuk Pengembangan Saya Berikan Pada Kalian.</h4><br/>";
	                echo "<br/><h4> Source Code Ini Berupa Fungsi Register - Login - Logout,<br/> untuk tampilan mohon maaf kurang bagus</h4>";
	            }
	        ?>
	    </div>
	    <div class="footer">
	        <h5> Copyright &copy 2019 <a href="http://bisa-koding.blogspot.com">Bisa Koding</a></h5>
	    </div>
	</body>
	</html>

Styles.css


body{
    margin: 0;
    padding: 0;
}
.menu{
    text-align: center;
}
.menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
  }
  
.menu ul li {
    float: left;
  }
  
.menu ul li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
  }
  
  /* Change the link color to #111 (black) on hover */
.menu ul li a:hover {
    background-color: #111;
  }
.main{
    height: 400px;
    justify-items: center;
    align-items: center;
    padding:10.1% 0 0px 35%;
}
.footer{
    background-color: #333;
    text-align: center;
    padding: 5px 5px;
    color: white;
    font-size: 1.4 em;
}
.footer a{
  color: white;
  text-decoration: none;
}
.btn{
  text-align: end;
}
.login-form{
  text-align: end;
  padding-left:5%;
}
.register-form{
  text-align: end;
}

6. Setelah  keduanya Selesai kita pindah pada fungsinya, kita buat koneksi databasenya ke mysql, buat file koneksi.php


<?php
$host = "localhost";
$user = "root";
$pass = "";
$database = "auth";

$conn = mysqli_connect($host, $user, $pass)or die(mysqli_error());
mysqli_select_db($conn, $database)or die(mysqli_error());
?>

7. Sesudah itu buat file Login.php
<h5>Silakan Login Dengan Data Yang Telah Di Daftarkan</h5>
<form method="post" class="login-form">
    <table>
        <thead>
            <th>Email</th>
            <td><input type="email" name="email"></td>
        </thead>
        <tbody>
            <th>Password</th>
            <td><input type="password" name="pass"></td>
        </tbody>
            <th></th>
            <td class="btn"><button name="login"> LOGIN</button></td>
    </table>
</form>
<?php
$title = "Login - Source Code";
if(isset($_POST['login'])){
    //Inialisasi Kolom
    $email = $_POST['email'];
    $pass = md5($_POST['pass']);
    if($email && $pass){
        //Menyamakan Data Input Dengan Database - Inilah Fungsi Login
        $data_login = mysqli_query($conn, "SELECT * FROM users WHERE email='$email' AND pass='$pass'") or die(mysql_error());
        $result = mysqli_fetch_assoc($data_login);
        $v_email = $result['email'];
        $v_pass = $result['pass'];
        //Verifikasi Email & Password
        if($email == $v_email){
            if($pass == $v_pass){
                $_SESSION['nama'] = $result['nama'];
                $_SESSION['level'] = $result['level'];
                echo '<script type="text/javascript">
                window.location ="index.php"</script>';
            }else{
                echo "Password Salah";
            }
        }else{
            echo "Email Tidak Ditemukan";
        }
    }
}
?>

8.Buatlah File register.php
<h5>Silakan Register Dengan Data Yang Akan Di Daftarkan</h5>
<form method="post" class="register-form">
    <table>
        <thead>
            <th>Nama</th>
            <td><input type="text" name="nama"></td>
            <th>Email</th>
            <td><input type="email" name="email"></td>
        </thead>
        <tbody>
            <th>Password</th>
            <td><input type="password" name="pass"></td>
            <th>Level</th>
            <td><select name="level">
                <option value="1">Admin</option>
                <option value="2">Users</option>
            </select></td>
        </tbody>
            <th></th>
            <td class="btn"><button name="register">REGISTER</button></td>
    </table>
</form>
<?php
$title = "Register - Source Code";
if(isset($_POST['register'])){
    //Inisialisasi Kolom
    $nama = $_POST['nama'];
    $email = $_POST['email'];
    //MD5 Berfungsi Merandom Password
    $pass = md5($_POST['pass']);
    $level = $_POST['level'];
    if($nama && $email && $pass && $level){
        //Verifikasi Data Yang Sama
        $dt_register = mysqli_query($conn, "SELECT * FROM users")or die(mysqli_error());
        $r_reg = mysqli_fetch_assoc($dt_register);
        $r_email = $r_reg['email'];
        if($email == $r_email){
            echo"Data Sudah Digunakan";
        }else{
            //Menyimpan Data Ke Query / Database
            $simpan = mysqli_query($conn, "INSERT INTO users (id,email,pass,nama,level) VALUES (NULL,'$email','$pass','$nama','$level')");
            if($simpan){
            echo "<script>window.alert('Data Berhasil Di Tambah')</script>";
            echo '<script type="text/javascript">
            window.location ="index.php"</script>';
            }else{
            echo"Data Tidak Berhasil Di Tambah";
            }
        }      
    }else{
        echo"Masih Ada Kolom Yang Belum Di Isi.";
    }
}
?>

9. Setelah itu selesai tinggal anda run dalam xampp.


Demikian Source code Login / Register dengan PHP semoga source code ini membantu anda.



Demo :
Bisa Koding

Link Source Code :
Google Drive || Mediafire || Github