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

Membuat Aplikasi Vote Dari PHP


Counting atau disebut menghitung selalu digunakan untuk beberapa hal dari yang kecil hingga besar counting juga sering digunakan untuk Voting, Menentukan Terbesar Dan Terkecil. Dalam Blog /  Website Memiliki Counting ini mungkin berupa Widget atau API dari penyedianya.

Untuk Sekarang ini kita akan membuat Counting / Voting, Yang bisa kita buat dengan menggunakan PHP, Kita langsung saja ke TKP -- Tempat Kerja Proggramer.


1. Langkah Pertama Siapkan Database Yang Akan Di Gunakan.


Nama
Tipe
Index
Id
bigint
Primary
yes
int

no
int


2. Siapkan folder untuk menyimpan project anda, bila anda memakai XAMPP, anda harus pergi ke Localdisk C >> xampp >> htdocs

3. Agar tampilannya lebih bagus dan menarik kita pakai Material Design Lite untuk Stylenya. Klik link ini untuk mendownload MDL 

4. Buatlah Folder Css, Js untuk menampung file dari MDL seperti dibawah ini :


5.Buatlah Folder Database untuk menyimpang file koneksi ke mysql

6. Di dalam folder Database anda buat file connect.php

<?php
    error_reporting(0);
    //Data Koneksi Ke Database
    $host = "localhost";
    $user = "root";
    $pass = "";
    $database = "count";
    //Koneksi Database
    $conn = mysqli_connect($host, $user, $pass);
    mysqli_select_db($conn, $database)or die(mysqli_error());
?>

5. Buatlah File Index.php untuk memulai tujuan kita untuk membuat vote.



<!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">
    <title>Counting Source Code</title>
    <link rel="stylesheet" href="Css/material.css"/>
    <link rel="stylesheet" href="Css/styles.css"/>
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:300,400,500,700" type="text/css">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons"  rel="stylesheet">
</head>
<body>
    <div class="mdl-grid">
        <div class="mdl-cell mdl-cell--4-col"></div>
        <div class="mdl-cell mdl-cell--4-col center">
            <h5 class="text-center">
                Halo, Terima Kasih Sudah Datang, Silakan Klik Tombol Manapun Yang Kalian Sukai.
            </h5>
            <?php
            include_once("Database/connect.php");
            //Pengambilan Data Dari Database
            $sql = "SELECT * FROM count";
            $panggil_data = mysqli_query($conn, $sql);
            $data_count = mysqli_fetch_assoc($panggil_data);
            ?>
            <div class="mdl-grid">
                <div class="mdl-cell mdl-cell--1-col"></div>
                <div class="mdl-cell mdl-cell--10-col">
                    <span class="mdl-chip mdl-chip--contact">
                        <span class="mdl-chip__contact mdl-color--green mdl-color-text--white">Y</span>
                        <span class="mdl-chip__text"><?php echo $data_count['yes'];?></span>
                    </span>
                    <span class="mdl-chip mdl-chip--contact float-right">
                        <span class="mdl-chip__contact mdl-color--red mdl-color-text--white">N</span>
                        <span class="mdl-chip__text"><?php echo $data_count['no'];?></span>
                    </span>
                </div>
                <div class="mdl-cell mdl-cell--1-col"></div>
            </div>
            <div class="mdl-grid">
                <div class="mdl-cell mdl-cell--4-col"></div>
                <div class="mdl-cell mdl-cell--7-col">
                    <form method="get">
                        <button name="yes" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored">
                            <i class="material-icons">done</i> YES</button>
                        <button name="no"  class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent">       
                            <i class="material-icons">report</i> NO</button>
                    </form>
                </div>
                <div class="mdl-cell mdl-cell--1-col"></div>
            </div>
            <?php
                if(isset($_GET['yes'])){
                    //Pemanggilan Data
                    $yes = $data_count['yes'] +1;
                    $update_data = mysqli_query($conn, "UPDATE count SET yes='$yes'");
                    echo '<script type="text/javascript">
                                window.location = "index.php"
                            </script>';
                }else if(isset($_GET['no'])){
                    //Pemanggilan Data
                    $no = $data_count['no'] +1;
                    $update_data = mysqli_query($conn, "UPDATE count SET no='$no'");
                    echo '<script type="text/javascript">
                                window.location = "index.php"
                            </script>';
                }
            ?>
        </div>
        <div class="mdl-cell mdl-cell--4-col"></div>
    </div>
    <script src="Js/material.js"></script>
</body>
</html>


6. Setelah itu anda bisa lansung mencobanya.












Demo :
Bisa Koding

Source Code :
Google Drive || MediaFire