Cara menggunakan coding php untuk menambahkan data

Yasin K adalah Penulis Konten Teknis untuk Blog Niagahoster. Kata lain adalah hal-hal tidak penting yang tidak perlu Anda ketahui. Biarkan konten berbicara sendiri. )

Beranda » Pengembangan & Desain Web » Pemrograman Dasar » Cara Membuat CRUD Dengan PHP dan MySQL

Bagaimana Melakukan CRUD Dengan PHP Dan MySQL

26 Mei 2019 25 mnt dibaca

Operasi CRUD adalah bagian penting dari proses pengembangan situs web. Operasi ini adalah inti dari seluruh proses manajemen data di situs web. Oleh karena itu, pengoperasian CRUD sangat penting untuk dipelajari sebelum Anda membuat website yang handal

Agar Anda lebih mudah memahami CRUD, pada artikel kali ini kami akan mencoba mengulas tentang cara membuat CRUD dengan menggunakan bahasa pemrograman PHP. Semoga setelah membaca artikel ini anda bisa melakukan CRUD dengan PHP dan MySQL dengan cepat. Yuk baca reviewnya

Daftar Isi

Apa itu CRUD?

CRUD adalah singkatan dari Buat, Baca, Perbarui, dan Hapus. Proses ini sangat berkaitan dengan pengambilan atau transaksi data dari atau ke database. Hal ini menjadi krusial ketika berhadapan dengan sistem informasi perusahaan karena data yang diolah biasanya adalah data transaksi

Bagi Developer PHP, operasi CRUD biasanya menjadi pilar untuk mempelajari proses pengelolaan data menggunakan PHP dan tentunya database MySQL. Nah, CRUD ini bisa diibaratkan sebagai jalur atau koneksi yang menghubungkan bahasa pemrograman PHP dengan MySQL

Lebih khusus lagi, berikut adalah ulasan tentang operasi CRUD beserta contohnya

  • Create (C) adalah proses membuat data baru. Proses ini biasanya dilakukan saat Anda mendaftar di halaman website. Data yang Anda masukkan akan disimpan dalam database menggunakan operasi Buat

  • Read (R) adalah proses mengambil data dari database. Proses ini biasanya terjadi ketika Anda ingin melakukan proses login pada halaman website tertentu. Ketika Anda mengklik "Masuk", situs web akan menjalankan proses "Baca" untuk memverifikasi akun yang Anda gunakan

    Contoh pengoperasian yang lebih sederhana adalah ketika Anda mengakses halaman website, saat itu proses Read sedang berjalan. Hasil dari operasi ini adalah tampilan halaman website yang Anda lihat di browser
  • Update (U) adalah proses mengubah data dalam database. Contoh dari proses ini adalah ketika Anda mengubah profil Anda di akun media sosial. Ketika Anda mengklik "Ubah", situs web akan mengirimkan proses Pembaruan ke dalam database. Kemudian database merespon dengan mengubah data lama menjadi data baru yang Anda tambahkan melalui halaman profil
  • Delete (D) adalah proses menghapus data yang ada di database. Proses ini mirip dengan Update, bedanya, proses Delete akan merubah data di database menjadi 'nothing'

Itulah sedikit gambaran penggunaan CRUD pada website

Agar lebih mudah dipahami, berikut adalah contoh penggunaan CRUD dengan menggunakan bahasa pemrograman PHP dan database MySQL

Bagaimana Melakukan CRUD Dengan PHP Dan MySQL

Pengembang aplikasi web sering menggunakan PHP dan MySQL sebagai komponen utamanya. Bahasa pemrograman PHP memproses berbagai fungsi untuk melakukan operasi CRUD. Sedangkan MySQL bertugas menyimpan database dari website

MySQL sebenarnya tidak hanya bisa diakses menggunakan PHP, bahasa pemrograman lain seperti Python, JavaScript, dan sejenisnya juga bisa mengakses MySQL

Sedangkan PHP juga bisa menggunakan database server lain seperti PostgreSQL, MongoDB, dan sejenisnya

Namun pada contoh ini kita menggunakan PHP dan MySQL karena lebih simple dan mudah dipahami

Catatan
Anda juga harus tahu bahwa ada tiga jenis koneksi - koneksi ini kadang disebut API MySQL - antara PHP dan MySQL, yaitu mysql, mysqli, dan PDO (PHP Data Object).
Mysqli adalah versi penerus dari mysql. Ini karena mysql belum dikembangkan sejak PHP versi 5. 5. Sedangkan ketika Anda ingin menghubungkan PHP dengan MySQL dan penyedia database lainnya, Anda perlu menggunakan jenis koneksi PDO

Pada kesempatan kali ini kita akan belajar menggunakan PHP dan MySQL untuk membuat sebuah aplikasi sederhana. Pada contoh kasus dibawah ini, kita akan mencoba membuat sebuah aplikasi sederhana untuk melihat dan menambahkan data karyawan

1. Membuat Tabel Database

Agar Anda dapat melakukan operasi CRUD, tentunya Anda memerlukan data. Jadi hal pertama yang perlu Anda lakukan untuk membuat CRUD adalah menambahkan data setelah membuat database MySQL

Anda dapat menambahkan data petugas menggunakan kueri di bawah ini

Pertama buat database dulu

CREATE DATABASE niagahoster;

Kemudian masukkan TABEL yang nantinya akan digunakan untuk data pegawai

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_

Query di atas adalah SQL yang bertugas menyiapkan database beserta TABEL yang berisi variabel id, nama, alamat, dan gaji.

Anda juga dapat menambahkan variabel lain, seperti nomor ponsel, status, hobi, dll

Pastikan database sudah berhasil dibuat dengan mengetikkan perintah “show tables;”

Cara menggunakan coding php untuk menambahkan data

2. Membuat File Konfigurasi

Sehat. Setelah Anda menyiapkan data, langkah selanjutnya adalah menyiapkan koneksi agar PHP dapat terhubung ke MySQL. Caranya adalah dengan membuat file yang berisi script PHP khusus untuk koneksi

Anda dapat memberikannya nama apa pun yang Anda inginkan. Dalam contoh ini, kami menggunakan file name config. php. Kemudian masukkan baris kode di bawah ini

File ini nantinya akan digabungkan dengan file lain menggunakan fungsi PHP require_once() dan juga akan berlaku untuk file lainnya

Anda dapat melihat baris kode di bawah ini

<?php
/* Database credentials. Assuming you are running MySQL server with default setting (user 'root' with no password) */

define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'niagahoster');

/* Attempt to connect to MySQL database */
$link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>

Perlu menjadi catatan. Anda harus mengganti DB_SERVER, DB_USERNAME, DB_PASSWORD, dan DB_NAME dengan detail basis data Anda masing-masing

file konfigurasi. php biasanya berisi beberapa konfigurasi yang berhubungan dengan website. Jadi file ini menjadi pusat konfigurasi dan sering dipanggil/digunakan di file lain

3. Buat halaman arahan

Setelah Anda membuat data dan menghubungkan PHP ke database, langkah selanjutnya adalah membuat wadah untuk menampilkan data. Kami akan membuat halaman arahan untuk aplikasi CRUD. Halaman arahan ini akan menampilkan catatan dari tabel database karyawan

Di halaman arahan ini juga akan ada ikon di setiap record dari tabel database karyawan. Pada setiap data yang muncul pada tabel akan terdapat icon yang dapat digunakan untuk melakukan update, menghapus perintah, dan melihat detail informasi atau data

Kami juga akan menambahkan tombol buat untuk menambahkan data karyawan. Tombol ini berguna untuk menambahkan record baru ke tabel employee di database

Untuk membuatnya silahkan masukkan baris kode di bawah ini ke dalam file index. php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dashboard</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.js"></script>
    <style type="text/css">
        .wrapper{
            width: 650px;
            margin: 0 auto;
        }
        .page-header h2{
            margin-top: 0;
        }
        table tr td:last-child a{
            margin-right: 15px;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function(){
            $('[data-toggle="tooltip"]').tooltip();
        });
    </script>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header clearfix">
                        <h2 class="pull-left">Informasi Pegawai</h2>
                        <a href="create.php" class="btn btn-success pull-right">Tambah Baru</a>
                    </div>
                    <?php
                    // Include config file
                    require_once "config.php";

                    // Attempt select query execution
                    $sql = "SELECT * FROM employees";
                    if($result = mysqli_query($link, $sql)){
                        if(mysqli_num_rows($result) > 0){
                            echo "<table class='table table-bordered table-striped'>";
                                echo "<thead>";
                                    echo "<tr>";
                                        echo "<th>#</th>";
                                        echo "<th>Nama</th>";
                                        echo "<th>Alamat</th>";
                                        echo "<th>Salary</th>";
                                        echo "<th>Pengaturan</th>";
                                    echo "</tr>";
                                echo "</thead>";
                                echo "<tbody>";
                                while($row = mysqli_fetch_array($result)){
                                    echo "<tr>";
                                        echo "<td>" . $row['id'] . "</td>";
                                        echo "<td>" . $row['name'] . "</td>";
                                        echo "<td>" . $row['address'] . "</td>";
                                        echo "<td>" . $row['salary'] . "</td>";
                                        echo "<td>";
                                            echo "<a href='read.php?id=". $row['id'] ."' title='View Record' data-toggle='tooltip'><span class='glyphicon glyphicon-eye-open'></span></a>";
                                            echo "<a href='update.php?id=". $row['id'] ."' title='Update Record' data-toggle='tooltip'><span class='glyphicon glyphicon-pencil'></span></a>";
                                            echo "<a href='delete.php?id=". $row['id'] ."' title='Delete Record' data-toggle='tooltip'><span class='glyphicon glyphicon-trash'></span></a>";
                                        echo "</td>";
                                    echo "</tr>";
                                }
                                echo "</tbody>";
                            echo "</table>";
                            // Free result set
                            mysqli_free_result($result);
                        } else{
                            echo "<p class='lead'><em>No records were found.</em></p>";
                        }
                    } else{
                        echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
                    }

                    // Close connection
                    mysqli_close($link);
                    ?>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

Masukkan beberapa data petugas melalui halaman arahan. Baris kode di atas kurang lebih menampilkan tabel seperti di bawah ini

Cara menggunakan coding php untuk menambahkan data

4. Membuat Halaman Buat

Create adalah proses memasukkan informasi/data ke dalam database. Nah pada langkah ini Anda akan belajar bagaimana menggunakan Create (C) dalam satu baris kode

Cukup buat file dengan nama "create. php". Kemudian masukkan baris kode di bawah ini

<?php
// Include config file
require_once "config.php";

// Define variables and initialize with empty values
$name = $address = $salary = "";
$name_err = $address_err = $salary_err = "";

// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
    // Validate name
    $input_name = trim($_POST["name"]);
    if(empty($input_name)){
        $name_err = "Please enter a name.";
    } elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
        $name_err = "Please enter a valid name.";
    } else{
        $name = $input_name;
    }

    // Validate address
    $input_address = trim($_POST["address"]);
    if(empty($input_address)){
        $address_err = "Please enter an address.";
    } else{
        $address = $input_address;
    }

    // Validate salary
    $input_salary = trim($_POST["salary"]);
    if(empty($input_salary)){
        $salary_err = "Please enter the salary amount.";
    } elseif(!ctype_digit($input_salary)){
        $salary_err = "Please enter a positive integer value.";
    } else{
        $salary = $input_salary;
    }

    // Check input errors before inserting in database
    if(empty($name_err) && empty($address_err) && empty($salary_err)){
        // Prepare an insert statement
        $sql = "INSERT INTO employees (name, address, salary) VALUES (?, ?, ?)";

        if($stmt = mysqli_prepare($link, $sql)){
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "sss", $param_name, $param_address, $param_salary);

            // Set parameters
            $param_name = $name;
            $param_address = $address;
            $param_salary = $salary;

            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt)){
                // Records created successfully. Redirect to landing page
                header("location: index.php");
                exit();
            } else{
                echo "Something went wrong. Please try again later.";
            }
        }

        // Close statement
        mysqli_stmt_close($stmt);
    }

    // Close connection
    mysqli_close($link);
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Create Record</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 500px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h2>Tambah Record</h2>
                    </div>
                    <p>Silahkan isi form di bawah ini kemudian submit untuk menambahkan data pegawai ke dalam database.</p>
                    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
                        <div class="form-group <?php echo (!empty($name_err)) ? 'has-error' : ''; ?>">
                            <label>Nama</label>
                            <input type="text" name="name" class="form-control" value="<?php echo $name; ?>">
                            <span class="help-block"><?php echo $name_err;?></span>
                        </div>
                        <div class="form-group <?php echo (!empty($address_err)) ? 'has-error' : ''; ?>">
                            <label>Alamat</label>
                            <textarea name="address" class="form-control"><?php echo $address; ?></textarea>
                            <span class="help-block"><?php echo $address_err;?></span>
                        </div>
                        <div class="form-group <?php echo (!empty($salary_err)) ? 'has-error' : ''; ?>">
                            <label>Salary</label>
                            <input type="text" name="salary" class="form-control" value="<?php echo $salary; ?>">
                            <span class="help-block"><?php echo $salary_err;?></span>
                        </div>
                        <input type="submit" class="btn btn-primary" value="Submit">
                        <a href="index.php" class="btn btn-default">Cancel</a>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
_

Baris kode di atas akan menampilkan form yang berfungsi untuk menambahkan data petugas ke database. Pada baris kode di atas juga terdapat validasi input sebelum data disimpan di database

Cara menggunakan coding php untuk menambahkan data

5. Buat Halaman Baca

File yang bertanggung jawab untuk memasukkan data sudah ada. Tugas selanjutnya adalah membuat file yang bertanggung jawab untuk mengambil/membaca data dari database dan menyajikannya dalam bentuk tabel

Silahkan buat file dengan nama "read. php" lalu masukkan baris kode di bawah ini ke dalamnya

Baris kode di bawah ini akan menampilkan informasi detail untuk setiap petugas jika Anda mengklik ikon baca di tabel

<?php
// Check existence of id parameter before processing further
if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
    // Include config file
    require_once "config.php";
    
    // Prepare a select statement
    $sql = "SELECT * FROM employees WHERE id = ?";
    
    if($stmt = mysqli_prepare($link, $sql)){
        // Bind variables to the prepared statement as parameters
        mysqli_stmt_bind_param($stmt, "i", $param_id);
        
        // Set parameters
        $param_id = trim($_GET["id"]);
        
        // Attempt to execute the prepared statement
        if(mysqli_stmt_execute($stmt)){
            $result = mysqli_stmt_get_result($stmt);
    
            if(mysqli_num_rows($result) == 1){
                /* Fetch result row as an associative array. Since the result set
                contains only one row, we don't need to use while loop */
                $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
                
                // Retrieve individual field value
                $name = $row["name"];
                $address = $row["address"];
                $salary = $row["salary"];
            } else{
                // URL doesn't contain valid id parameter. Redirect to error page
                header("location: error.php");
                exit();
            }
            
        } else{
            echo "Oops! Something went wrong. Please try again later.";
        }
    }
     
    // Close statement
    mysqli_stmt_close($stmt);
    
    // Close connection
    mysqli_close($link);
} else{
    // URL doesn't contain id parameter. Redirect to error page
    header("location: error.php");
    exit();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>View Record</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 500px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h1>View Record</h1>
                    </div>
                    <div class="form-group">
                        <label>Name</label>
                        <p class="form-control-static"><?php echo $row["name"]; ?></p>
                    </div>
                    <div class="form-group">
                        <label>Address</label>
                        <p class="form-control-static"><?php echo $row["address"]; ?></p>
                    </div>
                    <div class="form-group">
                        <label>Salary</label>
                        <p class="form-control-static"><?php echo $row["salary"]; ?></p>
                    </div>
                    <p><a href="index.php" class="btn btn-primary">Back</a></p>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>

5. Buat Halaman Pembaruan

Setelah selesai membuat dan membaca, kini giliran Anda membuat file Update untuk mengubah data yang telah disimpan

Silahkan buat file "update. php” dan tambahkan baris kode berikut ke dalamnya. Baris kode ini akan mengarahkan Anda ke halaman lain yang berisi formulir untuk mengubah informasi yang sudah ada di database

<?php
// Include config file
require_once "config.php";
 
// Define variables and initialize with empty values
$name = $address = $salary = "";
$name_err = $address_err = $salary_err = "";
 
// Processing form data when form is submitted
if(isset($_POST["id"]) && !empty($_POST["id"])){
    // Get hidden input value
    $id = $_POST["id"];
    
    // Validate name
    $input_name = trim($_POST["name"]);
    if(empty($input_name)){
        $name_err = "Please enter a name.";
    } elseif(!filter_var($input_name, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){
        $name_err = "Please enter a valid name.";
    } else{
        $name = $input_name;
    }
    
    // Validate address address
    $input_address = trim($_POST["address"]);
    if(empty($input_address)){
        $address_err = "Please enter an address.";     
    } else{
        $address = $input_address;
    }
    
    // Validate salary
    $input_salary = trim($_POST["salary"]);
    if(empty($input_salary)){
        $salary_err = "Please enter the salary amount.";     
    } elseif(!ctype_digit($input_salary)){
        $salary_err = "Please enter a positive integer value.";
    } else{
        $salary = $input_salary;
    }
    
    // Check input errors before inserting in database
    if(empty($name_err) && empty($address_err) && empty($salary_err)){
        // Prepare an update statement
        $sql = "UPDATE employees SET name=?, address=?, salary=? WHERE id=?";
         
        if($stmt = mysqli_prepare($link, $sql)){
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "sssi", $param_name, $param_address, $param_salary, $param_id);
            
            // Set parameters
            $param_name = $name;
            $param_address = $address;
            $param_salary = $salary;
            $param_id = $id;
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt)){
                // Records updated successfully. Redirect to landing page
                header("location: index.php");
                exit();
            } else{
                echo "Something went wrong. Please try again later.";
            }
        }
         
        // Close statement
        mysqli_stmt_close($stmt);
    }
    
    // Close connection
    mysqli_close($link);
} else{
    // Check existence of id parameter before processing further
    if(isset($_GET["id"]) && !empty(trim($_GET["id"]))){
        // Get URL parameter
        $id =  trim($_GET["id"]);
        
        // Prepare a select statement
        $sql = "SELECT * FROM employees WHERE id = ?";
        if($stmt = mysqli_prepare($link, $sql)){
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "i", $param_id);
            
            // Set parameters
            $param_id = $id;
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt)){
                $result = mysqli_stmt_get_result($stmt);
    
                if(mysqli_num_rows($result) == 1){
                    /* Fetch result row as an associative array. Since the result set
                    contains only one row, we don't need to use while loop */
                    $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
                    
                    // Retrieve individual field value
                    $name = $row["name"];
                    $address = $row["address"];
                    $salary = $row["salary"];
                } else{
                    // URL doesn't contain valid id. Redirect to error page
                    header("location: error.php");
                    exit();
                }
                
            } else{
                echo "Oops! Something went wrong. Please try again later.";
            }
        }
        
        // Close statement
        mysqli_stmt_close($stmt);
        
        // Close connection
        mysqli_close($link);
    }  else{
        // URL doesn't contain id parameter. Redirect to error page
        header("location: error.php");
        exit();
    }
}
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Update Record</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 500px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h2>Update Record</h2>
                    </div>
                    <p>Please edit the input values and submit to update the record.</p>
                    <form action="<?php echo htmlspecialchars(basename($_SERVER['REQUEST_URI'])); ?>" method="post">
                        <div class="form-group <?php echo (!empty($name_err)) ? 'has-error' : ''; ?>">
                            <label>Name</label>
                            <input type="text" name="name" class="form-control" value="<?php echo $name; ?>">
                            <span class="help-block"><?php echo $name_err;?></span>
                        </div>
                        <div class="form-group <?php echo (!empty($address_err)) ? 'has-error' : ''; ?>">
                            <label>Address</label>
                            <textarea name="address" class="form-control"><?php echo $address; ?></textarea>
                            <span class="help-block"><?php echo $address_err;?></span>
                        </div>
                        <div class="form-group <?php echo (!empty($salary_err)) ? 'has-error' : ''; ?>">
                            <label>Salary</label>
                            <input type="text" name="salary" class="form-control" value="<?php echo $salary; ?>">
                            <span class="help-block"><?php echo $salary_err;?></span>
                        </div>
                        <input type="hidden" name="id" value="<?php echo $id; ?>"/>
                        <input type="submit" class="btn btn-primary" value="Submit">
                        <a href="index.php" class="btn btn-default">Cancel</a>
                    </form>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>
_

6. Buat Halaman Hapus

Agar dapat menghapus informasi/data petugas yang sudah masuk ke database, diperlukan suatu fungsi untuk menghapusnya

Silahkan buat file dengan nama "delete. php" lalu masukkan baris kode di bawah ini ke dalamnya. Baris kode ini akan menghapus data saat Anda mengklik ikon hapus di tabel

<?php
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
    // Include config file
    require_once "config.php";
    
    // Prepare a delete statement
    $sql = "DELETE FROM employees WHERE id = ?";
    
    if($stmt = mysqli_prepare($link, $sql)){
        // Bind variables to the prepared statement as parameters
        mysqli_stmt_bind_param($stmt, "i", $param_id);
        
        // Set parameters
        $param_id = trim($_POST["id"]);
        
        // Attempt to execute the prepared statement
        if(mysqli_stmt_execute($stmt)){
            // Records deleted successfully. Redirect to landing page
            header("location: index.php");
            exit();
        } else{
            echo "Oops! Something went wrong. Please try again later.";
        }
    }
     
    // Close statement
    mysqli_stmt_close($stmt);
    
    // Close connection
    mysqli_close($link);
} else{
    // Check existence of id parameter
    if(empty(trim($_GET["id"]))){
        // URL doesn't contain id parameter. Redirect to error page
        header("location: error.php");
        exit();
    }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>View Record</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 500px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h1>Delete Record</h1>
                    </div>
                    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
                        <div class="alert alert-danger fade in">
                            <input type="hidden" name="id" value="<?php echo trim($_GET["id"]); ?>"/>
                            <p>Are you sure you want to delete this record?</p><br>
                            <p>
                                <input type="submit" value="Yes" class="btn btn-danger">
                                <a href="index.php" class="btn btn-default">No</a>
                            </p>
                        </div>
                    </form>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>

7. Membuat Halaman Kesalahan

Terkadang ada baris kode yang bermasalah. Agar Anda tidak perlu mendeklarasikan halaman error pada setiap file, akan lebih baik jika Anda membuat halaman error sendiri

Halaman ini akan menampilkan pesan kesalahan jika ada logika atau baris kode yang bermasalah. Anda juga dapat menyesuaikan informasi dalam kesalahan ini sesuai dengan kebutuhan Anda

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Error</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        .wrapper{
            width: 750px;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div class="wrapper">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="page-header">
                        <h1>Invalid Request</h1>
                    </div>
                    <div class="alert alert-danger fade in">
                        <p>Sorry, you've made an invalid request. Please <a href="index.php" class="alert-link">go back</a> and try again.</p>
                    </div>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>
_

Melakukan CRUD di Halaman CRUD

Contoh di atas adalah contoh sederhana penggunaan CRUD untuk menambah, mengubah, mengambil, dan menghapus data dari dan ke database. Penggunaan CRUD masih sangat luas

Salah satu yang sering dijumpai adalah ketika Anda login ke halaman website tertentu. Itu sebenarnya adalah contoh kecil penggunaan CRUD

Pada bagian ini akan dibahas cara membuat halaman login menggunakan sistem autentikasi dengan operasi CRUD. Kedengarannya sederhana, tetapi cukup penting karena berkaitan dengan keamanan aplikasi web. Mengapa?

Sama seperti langkah sebelumnya, Anda juga harus menyiapkan database yang berisi daftar user untuk menjalankan proses login. Artikel ini juga akan menggunakan PHP dan MySQL sebagai bahasa pemrograman utama dan database server

Pada bagian pertama, Anda akan diperlihatkan cara membuat formulir pengguna untuk proses pendaftaran. Kemudian buat form login pada bagian kedua dan juga seperti biasa yaitu membuat halaman utama dan script untuk logout

1. Membuat Sistem Registrasi

Pada bagian ini, Anda akan membuat formulir pendaftaran lengkap dengan database di dalamnya. Pengguna akan dapat melakukan pendaftaran hanya dengan mengisi formulir yang telah tersedia

Maka langkah pertama yang perlu dilakukan adalah menyiapkan database untuk menyimpan data pengguna

Membuat Tabel Database

Jalankan perintah di bawah ini untuk menambahkan record ke database yang sudah dibuat tadi (pada artikel ini contohnya database niagahoster)

Anda dapat menyesuaikan jumlah variabel sesuai dengan kebutuhan Anda. Namun saat membuat tabel untuk user, yang terpenting adalah menambahkan variabel id, username, dan password. Ketiga variabel tersebut nantinya akan menjadi inti dalam pembuatan form login menggunakan autentikasi

CREATE TABLE users (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
_

Pastikan bahwa tabel pengguna telah dibuat dengan benar

Cara menggunakan coding php untuk menambahkan data

2. Membuat File Konfigurasi

Setelah membuat tabel, agar dapat menjalankan proses CRUD, langkah selanjutnya adalah membuat jembatan penghubung antara PHP dan MySQL. Yang harus Anda lakukan adalah membuat skrip PHP yang bertanggung jawab untuk terhubung ke server database

Silahkan buat file "config. php" (atau bisa copy dari program sebelumnya), lalu masukan baris kode dibawah ini

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_0

Ganti informasi di atas sesuai dengan pengaturan di server MySQL Anda. Ganti nama pengguna, kata sandi, dan nama basis data seperti yang Anda lakukan

3. Membuat Formulir Pendaftaran

Setelah data siap dan PHP sudah bisa terhubung ke MySQL, langkah selanjutnya adalah membuat tampilan front-end untuk menampilkan hasil operasi

Buat file dengan nama "register. php" lalu tambahkan baris kode di bawah ini. Namun perlu Anda ketahui bahwa baris kode di bawah ini memungkinkan pengguna untuk membuat akun sendiri (tanpa perlu proses verifikasi)

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_1

Contoh di atas menggunakan fungsi PHP 'password_hash()' yang berfungsi mengubah dari password string menjadi hash text

Ini cukup menarik karena fungsinya menghasilkan kata sandi menggunakan algoritme hashing satu arah yang kuat. Fungsi ini juga menjalankan sistem garam acak secara otomatis (pengacakan garam) saat melakukan hashing kata sandi

Proses hashing yang dilakukan memungkinkan penggunaan password yang sama. Tapi karena ada proses hashing ini, passwordnya bisa sama, tapi kode hashnya tetap akan berbeda

Selain itu, baris kode di atas akan menampilkan form untuk registrasi sekaligus error checking. Pengguna yang tidak mengisi data yang kosong atau tidak lengkap akan mendapatkan notifikasi error dan data tidak akan tersimpan. Kesalahan ini juga berguna saat pengguna ingin membuat nama pengguna yang sudah ada

Tampilan baris kode di atas kurang lebih seperti di bawah ini

Cara menggunakan coding php untuk menambahkan data

4. Membuat Sistem Login

Setelah Anda memasukkan data dan membuat file konfigurasi, langkah selanjutnya adalah membuat bagian login dan halaman utama. Nantinya pada form login anda bisa memasukkan username dan password sesuai dengan yang sudah dibuat pada form pendaftaran

Pada saat user melakukan submit (login), sistem akan melalui verifikasi terhadap data yang sudah tersimpan di database. Jika username dan password sudah sesuai maka user dapat dipercaya dan dapat langsung masuk ke dalam sistem. Namun jika salah maka user akan mendapatkan informasi penolakan (rejected)

Berikut adalah langkah-langkah untuk membuat form login dan atribut lainnya

5. Buat Formulir Masuk

Pertama, buat file "login. php" dan masukkan kode di bawah ini ke dalamnya

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_2

Baris kode di atas akan mengambil input id, username, dan password yang dimasukkan oleh user kemudian memverifikasinya ke dalam tabel 'users' di database

Jika kata sandi dan nama pengguna yang dimasukkan sesuai, pengguna akan segera masuk dan menampilkan halaman baru (sesi) - dalam hal ini kami menggunakan file "selamat datang". php''

Baris kode di atas kurang lebih akan menampilkan seperti ini

Cara menggunakan coding php untuk menambahkan data

6. Membuat Halaman Beranda

Setelah form login selesai, tentunya membuat halaman utama yang akan ditampilkan ketika user berhasil masuk ke dalam sistem

Sehat. Terkadang dalam proses login terdapat data dari sumber yang tidak terpercaya yang mencoba masuk ke sistem. Biasanya ini diisi oleh pengguna anonim. Ini sangat berisiko karena terkadang berisi skrip berbahaya seperti serangan cross-site scripting (XSS).

Agar terhindar dari XSS, PHP menyediakan fungsi yang berguna untuk menghadapinya, yaitu dengan menggunakan fungsi htmlspecialchars() sebelum menampilkan halaman di browser. Fungsi ini membuat semua jenis tag HTML yang berisi skrip 'jahat' menjadi tidak berbahaya

Untuk membuat file ini, silahkan buat file "welcome. php" lalu masukkan baris kode di bawah ini

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_3

7. Buat Skrip Logout

Agar pengguna dapat berpindah dari satu akun ke akun lainnya, Anda perlu membuat fitur logout

Fungsi file ini adalah untuk menutup halaman (sesi) ketika pengguna ini keluar dari akunnya

Pada script ini terdapat fungsi yang berjalan ketika pengguna mengklik tombol atau link untuk logout atau keluar. Skrip akan menutup sesi dan kemudian mengarahkan ulang ke halaman login

Silahkan buat file dengan nama "logout. php" lalu masukkan baris kode di bawah ini

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_4

8. Buat Fitur Atur Ulang Kata Sandi

Opsional. Anda bisa melanjutkan ke bagian ini jika ingin menambahkan fitur reset password pada aplikasi

CREATE TABLE employees (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    address VARCHAR(255) NOT NULL,
    salary INT(10) NOT NULL
);
_5

Baca juga. Cara Memigrasi Database MySQL ke Server Lain di Ubuntu 14. 04

Penutupan

Itulah tutorial cara melakukan CRUD dengan PHP dan MySQL. CRUD (Buat, Baca, Perbarui, Hapus) adalah operasi yang harus digunakan dalam proses pengembangan aplikasi web, oleh karena itu operasi ini harus dipelajari dan dipahami dengan baik. Apalagi aplikasi web tidak pernah lepas dari penggunaan database

PHP dan MySQL adalah kombinasi yang sering digunakan. Baik bahasa pemrograman PHP maupun database server MySQL, sama-sama memiliki dokumentasi yang lengkap dan tidak rumit sehingga Anda dapat dengan mudah memahami keduanya dengan cepat

Anda mungkin masih memiliki beberapa pertanyaan, silakan tinggalkan melalui kolom komentar di bawah. Jika Anda menyukai artikel kami atau ingin mendapatkan informasi terbaru dari kami, jangan lupa untuk berlangganan. Semoga artikel ini bermanfaat

Membagikan

Yasin K Ikuti Yasin K adalah Penulis Konten Teknis untuk Blog Niagahoster. Kata lain adalah hal-hal tidak penting yang tidak perlu Anda ketahui. Biarkan konten berbicara sendiri. )

Berlangganan sekarang

Dapatkan berbagai artikel tutorial, insight dan tips menarik seputar dunia online langsung melalui email Anda. Berlangganan sekarang dan raih kesuksesan bersama kami

Langkah-langkah membuat CRUD?

Membuat CRUD di Halaman CRUD .
Membuat Sistem Registrasi. Pada bagian ini, Anda akan membuat formulir pendaftaran lengkap dengan database di dalamnya. .
Membuat File Konfigurasi. .
Membuat Formulir Pendaftaran. .
Membuat Sistem Login. .
Buat Formulir Masuk. .
6. Membuat Halaman Beranda. .
7. Buat Skrip Logout

Bagaimana cara mengimpor data di phpMyAdmin?

Impor file SQL ke database MySQL .
Masuk ke phpMyAdmin
Di phpMyAdmin, di menu sebelah kiri, pilih nama database yang ingin Anda gunakan. .
Di menu atas, pilih Impor
Gunakan Pilih file
Temukan dan pilih file yang ingin Anda impor, lalu pilih Buka
Di bagian bawah halaman, pilih Mulai

Apa itu Basis Data dalam PHP?

Database adalah sekelompok informasi yang disimpan dalam komputer secara sistematis sehingga dapat diperiksa menggunakan program komputer untuk memperoleh informasi dari database .

Apa yang dimaksud dengan form input dinamis?

Dynamic From adalah formulir tempat bidang masukan dapat ditambahkan atau dihapus secara dinamis dinamis . form dinamis biasanya digunakan untuk entri data barang, entri data nilai dan sebagainya yang memiliki jumlah data yang besar dan bervariasi.