Thursday, March 23, 2017

Membuat Formulir Registrasi Pengguna dengan PHP dan Mysql

Membuat Formulir Registrasi Pengguna dengan PHP dan Mysql

Berikut ini adalah dasar prosedur membuat formulir registrasi pengguna dengan menggunakan php dan mysql.

Pertama, pastikan Apache dan Mysql dalam xampp control panel berada dalam kondisi aktif.
Masuk ke localhost/phpmyadmin, buat database baru, yaitu : db_situs
buat database baru
memberi nama database


Selanjutnya buat tabel baru di database beserta jumlah kolom yang diinginkan, contoh :informasi_pengguna;jumlah kolom : 2.

membuat tabel di database

Pada tabel informasi_pengguna, tambahkan kolom seperti berikut ini:

membuat kolom baru

Sampai di sini pembuatan database selesai. Sekarang beralih ke pembuatan dokumen koneksi. buatdokumen php, misal koneksi.php. Kemudian tambahkan kode php berikut ini didalamnya.

<?php
    $namahost     = "localhost";//nama hosting yang digunakan
    $namaPengguna = "root";  //username default untuk bisa masuk/login di localhost
    $katasandi    = "";
    $nama_dbase   = "db_situs";
    $koneksi      = mysql_connect($namahost,$namaPengguna,$katasandi);
    $database     = mysql_select_db($nama_dbase);

    //cek koneksi
    if(!$koneksi)//jika koneksi tidak ada
        echo "Koneksi Gagal";
    //cek database
    if(!$database)//jika database tidak aktif atau tidak ditemukan
        echo "Database tidak ditemukan";
?>

Selanjutnya buat form agar pengguna bisa memasukkan identitas didalamnya dengan menggunakan HTML, beri nama dokumen pendaftaran.php

<html>
    <head>
        <title>index-access : Pendaftaran</title>
    </head>
    <body>
        <form action="konfirmasi.php" method="POST">
        <table>
            <tr>
                <td>Nama Lengkap</td><td>:</td><td><input type="text" name="nama_pengguna" placeholder="Tulis Nama Lengkap Anda" maxlength="50"/></td>
            </tr>
            <tr>
                <td>Password</td><td>:</td><td><input type="password" name="kata_sandi" placeholder="Kata Sandi Anda" maxlength="15"/></td>
            <tr/>
            <tr>
                <td>Ulangi Password</td><td>:</td><td><input type="password" name="ulang_katasandi" placeholder="ulangi kata sandi" maxlength="15"/></td>
            <tr/>
        </table>
        <input type="submit" value="Daftar"/><br/>
        <a href="index.php">index</a>
        </form>
    </body>
</html>

Kemudian buat dokumen baru, beri nama konfirmasi.php, dengan isi sebagai berikut:
  
<?php
    //include berfungsi untuk mengkoneksikan kodingan dengan localhost
    include('koneksi.php');
    //berikutnya.(masukkan kode di sini)..
?>

Anda bisa memilih menggunakan include atau require_once.
Selanjutnya, lakukan inisiasi terhadap name yang dikirimkan oleh dokumen.php

    //menginisiasi variabel-variabel yang dikirimkan dari form-->input name
    //fix problem : undefined index...
    if( isset($_POST['nama_pengguna'])  &&
        isset($_POST['kata_sandi'])     &&
        isset($_POST['ulang_katasandi'])
      )
    {
        $namapengguna   = $_POST['nama_pengguna'];
        $katasandi      = $_POST['kata_sandi'];
        $ulangkatasandi = $_POST['ulang_katasandi'];
    }else{
        //otomatis mengalihkan ke halaman pendaftaran jika terjadi undefined index
        header("location:pendaftaran.php");
    }//kode berikutnya di sini

Tambahkan Syntax untuk mengkoreksi jika terjadi kesalahan masukan data, yaitu jika pengguna belum memasukkan data pada salah satu atau beberapa kolom
  
    if(empty($namapengguna) ||  //jika nama_pengguna kosong
       empty($katasandi)    ||  //jika kata_sandi kosong
       empty($ulangkatasandi)   //jika ulang_katasandi kosong
            )
    {
        //pernyataan yang keluar jika salah satu atau beberapa kemungkinan di atas terjadi
        echo "ada kolom yang belum diisi";
    }else{
        //jika user telah memasukkan semua data yang dibutuhkan
        //kode berikutnya di sini
    }

Kesalahan masukan data sudah teratasi dengan kodingan di atas. Selanjutnya lakukan sesuatu ketikauser memasukkan seluruh data tanpa ada yang kosong, dan koreksi apakah sandi yang dimasukkan sudah benar
  
//jika user telah memasukkan semua data yang dibutuhkan, koreksi kata sandi
if($katasandi == $ulangkatasandi){
    //jika kata sandi sama
    //kode berikutnya di sini
}else{
    //jika kata sandi tidak sama
    echo "kata sandi tidak sama";
}

Selanjutnya, Anggap bahwa pengguna telah memasukkan kata sandi dengan benar. Ambil informasi dari dalam tabel dengan nama informasi_pengguna pada kolom namaPengguna. Pada fungsi ini program terlebih dulu membuka informasi dari dalam database yang akan digunakan untuk mengecek ketersediaan data namaPengguna, sudah ada yang menggunakannya atau belum.
 
//mengambil informasi dari nama tabel informasi_pengguna pada kolom "namaPengguna"
$ambilDataSql     = mysql_query("SELECT * FROM informasi_pengguna WHERE namaPengguna = '$namapengguna'");
//mengambil informasi dari seluruh kolom namaPengguna
$cek_namapengguna = mysql_num_rows($ambilDataSql);
//mengecek ketersediaan identitas
if($cek_namapengguna == 0){//jika nama pengguna tidak ditemukan/belum terdaftar
    //lakukan penambahan data
    mysql_query("INSERT INTO informasi_pengguna VALUES('$namapengguna','$katasandi')");
    echo "pendaftaran berhasil";
}else{
    echo "nama pengguna sudah terdaftar";
}

Keseluruhan dari konfirmasi.php adalah seperti berikut: 
<?php
    //include berfungsi untuk mengkoneksikan kodingan dengan localhost
    include('koneksi.php');

    //menginisiasi variabel-variabel yang dikirimkan dari form-->input name
    //fix problem : undefined index...
    if( isset($_POST['nama_pengguna'])  &&
        isset($_POST['kata_sandi'])     &&
        isset($_POST['ulang_katasandi'])
      )
    {
        $namapengguna   = $_POST['nama_pengguna'];
        $katasandi      = $_POST['kata_sandi'];
        $ulangkatasandi = $_POST['ulang_katasandi'];
    }else{
        //otomatis mengalihkan ke halaman pendaftaran jika terjadi undefined index
        header("location:pendaftaran.php");
    }

    if  (
        empty($namapengguna) ||  //jika nama_pengguna kosong
        empty($katasandi)    ||  //jika kata_sandi kosong
        empty($ulangkatasandi)   //jika ulang_katasandi kosong
        )
    {
        //pernyataan yang keluar jika salah satu atau beberapa kemungkinan di atas terjadi
        echo "ada kolom yang belum diisi";
        echo "<a href='pendaftaran.php'>Kembali ke halaman pendaftaran</a>";
    }else{
        //jika user telah memasukkan semua data yang dibutuhkan, koreksi kata sandi
        if($katasandi == $ulangkatasandi){
            //jika kata sandi sama

            //mengambil informasi dari nama tabel "informasi_pengguna" pada kolom "namaPengguna"
            $ambilDataSql     = mysql_query("SELECT * FROM informasi_pengguna WHERE namaPengguna = '$namapengguna'");
            //mengambil informasi dari seluruh kolom namaPengguna
            $cek_namapengguna = mysql_num_rows($ambilDataSql);
            //mengecek ketersediaan identitas
            if($cek_namapengguna == 0){//jika nama pengguna tidak ditemukan/belum terdaftar
                //lakukan penambahan data
                mysql_query("INSERT INTO informasi_pengguna VALUES('$namapengguna','$katasandi')");
                echo "pendaftaran berhasil";
                echo "<a href='pendaftaran.php'>Kembali ke halaman pendaftaran</a>";
            }else{
                echo "nama pengguna sudah terdaftar";
                echo "<a href='pendaftaran.php'>Kembali ke halaman pendaftaran</a>";
            }
        }else{
            //jika kata sandi tidak sama
            echo "kata sandi tidak sama";
            echo "<a href='pendaftaran.php'>Kembali ke halaman pendaftaran</a>";
        }
    }
?>

Tambahkan dokumen index.php untuk melihat isi data yang sudah Anda buat dalam bentuk tabel
<html>
    <head>
        <title>index-access : Halaman Utama</title>
    </head>
    <body>
    <?php
        //koneksi ke database
        include('koneksi.php');
        
        //ambil data pada kolom nama pengguna di tabel informasi_pengguna
        $kueri = mysql_query("SELECT namaPengguna FROM informasi_pengguna");
        
        //inisiasi variabel yang digunakan untuk memberikan nomor pada tabel
        $number = 0;
        
        //buat tabel yang menayangkan data
        echo "<table>";
        echo "<tr>";
        echo "<th>Nomor</th><th>nama</th>";
        echo "</tr>";
        while($user = mysql_fetch_assoc($kueri)){
            $number++;
            echo "<tr>";
            echo "<td>".$number."</td><td>".$user['namaPengguna']."</td>";
            echo "</tr>";
        }
        echo "</table>";
    ?>
        <a href="pendaftaran.php">Tambah Data</a>
    </body>
</html>

 Simpan dokumen-dokumen ini dalam satu folder, misalkan folder registrasiPengguna

0 on: "Membuat Formulir Registrasi Pengguna dengan PHP dan Mysql"