Ads 970x90

List Labels

iklan banner

Newsletter

Cara Membuat CRUD Dengan PHP Dan MySQL - Niagahoster Blog

Post a Comment

Cara Membuat CRUD Dengan PHP Dan MySQL - Niagahoster Blog

Hohoho, bertemu kembali, di kesempatan akan membahas tentang Cara Membuat CRUD Dengan PHP Dan MySQL - Niagahoster Blog simak selengkapnya 

Operasi CRUD menjadi bagian berarti di di jalan pembangunan website. Operasi ini menjadi inti dari sarwa jalan pengelolaan bukti ala sebentuk website. Maka dari itu, aktivitas CRUD menjadi sangat berarti buat dipelajari dini Anda membuat website yang andal.

Supaya Anda lebih mudah buat fasih CRUD, ala karangan ini abdi hendak berupaya menelaah aturan membuat CRUD memakai adab perancangan PHP. Harapannya sehabis membaca karangan ini Anda bisa membuat CRUD dengan PHP dan MysQL dengan cepat. Yuk simak ulasannya!

Apa itu CRUD?

CRUD ialah singkatan dari Create, Read, Update, dan Delete. Proses ini sangat berantai dengan pemungutan atau transaksi bukti dari atau ke database. Hal ini menjadi krusial apabila berasosiasi dengan sistem penjelasan perusahaan akibat bukti yang diproses biasanya merupakan bukti transaksi.

Bagi PHP Developer, aktivitas CRUD biasanya menjadi pillar buat melacak jalan pengelolaan bukti memakai PHP dan absolut sahaja MySQL database. Nah CRUD ini bisa diibaratkan sebagai pias atau koneksi yang melekatkan jarak adab perancangan PHP dengan MySQL.

Lebih jelasnya, bersama-sama ini analisis aktivitas CRUD beserta contohnya:

  • Create (C) merupakan jalan pembuatan bukti baru. Proses ini biasanya dilakukan saat Anda mendaftar ala sebentuk laman website. Data yang Anda masukkan hendak disimpan di di database memakai aktivitas Create.
  • Read (R) merupakan jalan pemungutan bukti dari database. Proses ini biasanya berjalan saat Anda ingin melaksanakan jalan login di laman website tertentu. Saat Anda klik “Login” alkisah website hendak menjalankan jalan “Read” buat melaksanakan pembenaran akun yang Anda gunakan.

    Contoh aktivitas yang lebih biasa yaitu saat Anda mengakses sebentuk laman website, detik itu kembali jalan Read berjalan. Hasil dari aktivitas ini ialah tampilan laman website yang Anda blengok di browser.

  • Update (U) ialah jalan mengubah bukti yang berada di di database. Contoh jalan ini saat Anda mengubah profil di di akun baik media. Saat Anda klik “Ubah”,  website hendak mengirimkan jalan Update ke di database. Kemudian database meresponnya dengan mengubah bukti durasi menjadi bukti baru yang Anda tambahkan dengan laman profil.
  • Delete (D) ialah jalan buat basmi bukti yang siap di database. Proses ini imbas-imbas dengan Update, bedanya, jalan Delete hendak mengubah bukti yang siap di database menjadi ‘tidak ada’.

Itulah gambaran alit penggunaan CRUD di website.

Supaya lebih mudah memahami, di kolong ini merupakan contoh penggunaan CRUD dengan memakai adab perancangan PHP dan MySQL databases.

Cara Membuat CRUD Dengan PHP Dan MySQL

Developer aplikasi web sering memakai PHP dan MySQL sebagai komponen utamanya. Bahasa perancangan PHP memproses beragam guna buat menjalankan aktivitas CRUD. Sedangkan MySQL bertugas buat membenahi database dari website.

MySQL aktual tidak sekadar bisa diakses memakai PHP saja, adab perancangan lain seperti Python, JavaScript, dan sejenisnya jua bisa buat mengakses MySQL.

Sedangkan PHP jua bisa memakai peladen database lain seperti PostgreSQL, MongoDB, dan sejenisnya.

Namun ala contoh ini abdi memakai PHP dan MySQL akibat lebih biasa dan mudah buat dipahami.

Catatan:

Perlu Anda ketahui juga, siap tiga contoh koneksi –koneksi ini adakala disebut dengan API MySQL– jarak PHP ke MySQL, yaitu mysql, mysqli, dan PDO (PHP Data Object).

Mysqli merupakan versi pengganti dari mysql. Hal ini dikarenakan mysql sudah tidak dikembangkan lagi sejak versi PHP 5.5. Sedangkan saat ingin melekatkan PHP dengan MySQL dan penyedia database lain, Anda perlu memakai contoh koneksi PDO.

Pada giliran ini, kita hendak berlatih memakai PHP dan MySQL buat membuat aplikasi sederhana. Pada contoh afair di kolong ini, abdi hendak berupaya membuat sebuah aplikasi biasa buat melihat dan me-lanjutkan bukti pegawai.

1. Membuat Tabel Database

Supaya Anda bisa melaksanakan aktivitas CRUD absolut sahaja krusial sebentuk data. Jadi kejadian perdana yang krusial Anda lakukan buat membuat CRUD ialah me-lanjutkan bukti ke di database MySQL.

Anda boleh me-lanjutkan bukti karyawan memakai query di kolong ini.

Pertama buat database lebih-lebih dahulu.

CREATE DATABASE niagahoster;

Kemudian masukkan TABEL yang nantinya digunakan buat bukti karyawan (employee).

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 arah merupakan SQL yang bertugas buat menyiapkan database beserta TABEL yang ampuh elastis id, name (nama), bakat (address), dan salary (gaji).

Anda jua boleh me-lanjutkan elastis lain, seperti nomor handphone, status, hobi, dan lain sebagainya.

Pastikan database berbuah terbuat dengan mengetikan amanat “show tables;”.

2. Membuat File Config

Nah! Setelah Anda mempersiapkan data, langkah kemudian ialah mempersiapkan koneksi supaya PHP boleh terhubung dengan MySQL. Caranya ialah dengan membuat sebentuk file ampuh script PHP eksklusif buat melaksanakan koneksi.

Anda bisa memberikan asma apapun bertemu dengan keinginan. Pada contoh ini, abdi memakai asma file config.php. Kemudian masukkan alur aba-aba di kolong ini.

File ini belakang hendak digabungkan dengan file lain memakai guna PHP require_once() dan berlaku jua buat file yang lainnya.

Anda bisa melihat ala alur aba-aba di kolong ini.

<?php
/* Database credentials. Assuming you are running MySQL peladen 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 kudu mengganti DB_SERVER, DB_USERNAME, DB_PASSWORD, dan DB_NAME dengan perincian database Anda masing-masing.

File config.php biasanya ampuh jumlah konfigurasi yang berasosiasi dengan website. Jadi file ini menjadi pusat konfigurasi dan sering dipanggil/digunakan di file lainnya.

3. Membuat Landing Page

Setelah Anda membuat bukti dan mengkoneksikan PHP ke database, langkah kemudian ialah membuat wadah buat memamerkan bukti tersebut. Kami hendak membuat sebentuk landing page buat aplikasi CRUD. Landing page ini belakang hendak memamerkan record dari tabel database employees.

Di di landing page ini jua hendak siap icon ala setiap record dari tabel database employee. Pada setiap bukti yang datang di di tabel hendak siap icon yang bisa digunakan buat menjalankan amanat update, delete, dan melihat perincian penjelasan atau data.

Kami jua hendak me-lanjutkan bincul create buat me-lanjutkan bukti employees. Tombol ini berfaedah buat me-lanjutkan record baru ala tabel employees di di database.

Untuk membuatnya, silakan masukkan alur aba-aba di kolong ini ke di 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 jumlah bukti karyawan dengan laman landing page. Baris aba-aba di kurang lebih memamerkan tabel seperti di kolong ini.

4. Membuat Halaman Create

Create merupakan jalan buat melakukan informasi/data ke di database. Nah ala langkah ini Anda hendak melacak dengan jalan apa aturan memakai Create (C) di di alur kode.

Langsung sahaja buat file dengan asma “create.php”. Kemudian masukkan alur aba-aba di kolong 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 bukti 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 aci 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 kolong ini akan datang submit buat me-lanjutkan bukti karyawan ke di 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 aba-aba di arah hendak memamerkan form yang berfungsi buat me-lanjutkan bukti karyawan ke di database. Di di alur aba-aba di arah jua ada validasi input dini bukti disimpan di di database.

5. Membuat Halaman Read

File yang bertugas buat melakukan bukti sudah ada. Tugas kemudian ialah membuat file yang bertugas buat mengambil/membaca bukti dari database dan menampilkannya di bentuk tabel.

Silakan buat file dengan asma “read.php” akan datang masukkan alur aba-aba di kolong ini ke dalamnya.

Baris aba-aba di kolong hendak memamerkan penjelasan secara perincian masing-masing karyawan jika Anda mengklik icon read yang siap di di tabel.

<?php
// Check existence of id kriteria 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 partikelir field value
                $name = $row["name"];
                $address = $row["address"];
                $salary = $row["salary"];
             else
                // URL doesn't contain aci 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. Membuat Halaman Update

Setelah membuat Create dan Read, sekarang aplusan Anda buat membuat file Update buat mengubah bukti yang sudah disimpan.

Silakan buat file “update.php” dan tambahkan alur aba-aba di kolong ini ke dalamnya. Baris aba-aba ini hendak membidikkan Anda ke laman lain yang ampuh form buat mengubah penjelasan yang sudah siap di 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 bukti 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 aci 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 kriteria 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 partikelir field value
                    $name = $row["name"];
                    $address = $row["address"];
                    $salary = $row["salary"];
                 else
                    // URL doesn't contain aci 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 sunting 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. Membuat Halaman Delete

Supaya Anda boleh basmi informasi/data karyawan yang sudah masuk ke di database, alkisah krusial sebentuk guna buat menghapusnya.

Silahkan buat file dengan asma “delete.php” akan datang masukkan alur aba-aba di kolong ini ke dalamnya. Baris aba-aba ini hendak basmi bukti saat Anda klik icon delete yang siap di 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 Error

Terkadang siap alur aba-aba yang bermasalah. Supaya Anda tidak krusial mendeklarasikan laman error ala setiap file, hendak lebih apik jika Anda membuat laman error sendiri.

Halaman ini hendak memamerkan amanat error jika berjalan logika atau alur aba-aba yang bermasalah. Anda juga boleh menepatkan penjelasan di di error ini bertemu dengan kebutuhan.

<!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 abnormal request. Please <a href="index.php" class="alert-link">go back</a> and try again.</p>
                    </div>
                </div>
            </div>        
        </div>
    </div>
</body>
</html>

Membuat CRUD di Halaman CRUD

Contoh di arah merupakan contoh biasa penggunaan CRUD buat menambahkan, mengubah, mengambil, dan basmi bukti dari dan ke database. Penggunaan CRUD lagi sangat luas.

Salah ahad yang sering dijumpai ialah saat Anda melaksanakan login ke laman website tertentu. Itu aktual ialah contoh alit dari penggunaan CRUD.

Pada bagian ini hendak berbantah mengenai aturan membuat laman login memakai sistem autentifikasi dengan aktivitas CRUD. Terdengar sederhana, tetapi cukup berarti akibat berasosiasi dengan keamanan sebentuk aplikasi web. Kenapa? Autentifikasi merupakan metode yang digunakan buat membatasi kanal dari user yang tidak ada hak kanal atau tools/fitur tertentu.

Sama seperti langkah sebelumnya, Anda jua kudu mempersiapkan lebih-lebih dahulu database yang ampuh catatan user buat menjalankan jalan login. Artikel ini jua hendak memakai PHP dan MySQL sebagai adab perancangan elementer dan database server-nya.

Pada bagian perdana Anda hendak ditunjukkan aturan membuat form user buat jalan registrasi. Kemudian membuat form login ala bagian kedua dan jua seperti biasanya, yaitu membuat laman elementer dan script buat melaksanakan logout.

1. Membuat Sistem Registrasi

Bagian ini belakang Anda hendak membuat sebentuk form pendaftaran lengkap dengan database di dalamnya. User hendak boleh melaksanakan pendaftaran sekadar dengan mengisikan form yang sudah tersedia.

Jadi langkah perdana yang krusial dilakukan ialah menyiapkan database sebagai penyimpanan bukti user.

Membuat Tabel Database

Jalankan amanat di kolong ini buat me-lanjutkan record ke di database yang sudah dibuat lebih dahulu (di karangan ini semisal database niagahoster).

Anda bisa menepatkan jumlah elastis bertemu dengan kebutuhan. Namun saat membuat tabel buat user, kejadian yang membelokkan berarti ialah me-lanjutkan elastis id, username, dan password. Ketiga elastis tersebut nantinya menjadi inti di di membuat form login memakai autentifikasi.

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 users sudah terbuat dengan baik.

2. Membuat File Config

Setelah membuat tabel, supaya bisa menjalankan jalan CRUD, langkah kemudian ialah membuat jembatan penghubung jarak PHP dengan MySQL. Anda sekadar berdiam membuat script PHP yang bertugas buat melekatkan ke database server.

Silahkan membuat file “config.php” (atau bisa menyalin dari program sebelumnya), akan datang masukkan alur aba-aba di kolong 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());

?>

Ganti penjelasan di arah bertemu dengan pengaturan di MySQL peladen Anda. Ganti username, password, dan asma database seperti yang Anda buat.

3. Membuat Form Registrasi

Setelah bukti sudah siap dan PHP boleh terhubung dengan MySQL, langkah kemudian ialah membuat tampilan front-end buat memamerkan buatan operasinya.

Buat file dengan asma “register.php” akan datang tambahkan alur aba-aba di kolong ini. Namun krusial Anda ketahui bahwa alur aba-aba di kolong ini mengizinkan user buat membuat akunnya sorangan (tanpa krusial jalan verifikasi).

<?php
// Include config file
require_once "config.php";
 
// Define variables and initialize with empty values
$username = $password = $confirm_password = "";
$username_err = $password_err = $confirm_password_err = "";
 
// Processing form bukti when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST")
 
    // Validate username
    if(empty(trim($_POST["username"])))
        $username_err = "Please enter a username.";
     else
        // Prepare a select statement
        $sql = "SELECT id FROM users WHERE username = ?";
        
        if($stmt = mysqli_prepare($link, $sql))
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "s", $param_username);
            
            // Set parameters
            $param_username = trim($_POST["username"]);
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt))
                /* store result */
                mysqli_stmt_store_result($stmt);
                
                if(mysqli_stmt_num_rows($stmt) == 1)
                    $username_err = "This username is already taken.";
                 else
                    $username = trim($_POST["username"]);
                
             else
                echo "Oops! Something went wrong. Please try again later.";
            
        
         
        // Close statement
        mysqli_stmt_close($stmt);
    
    
    // Validate password
    if(empty(trim($_POST["password"])))
        $password_err = "Please enter a password.";     
     elseif(strlen(trim($_POST["password"])) < 6)
        $password_err = "Password must have atleast 6 characters.";
     else
        $password = trim($_POST["password"]);
    
    
    // Validate confirm password
    if(empty(trim($_POST["confirm_password"])))
        $confirm_password_err = "Please confirm password.";     
     else
        $confirm_password = trim($_POST["confirm_password"]);
        if(empty($password_err) && ($password != $confirm_password))
            $confirm_password_err = "Password did not match.";
        
    
    
    // Check input errors before inserting in database
    if(empty($username_err) && empty($password_err) && empty($confirm_password_err))
        
        // Prepare an insert statement
        $sql = "INSERT INTO users (username, password) VALUES (?, ?)";
         
        if($stmt = mysqli_prepare($link, $sql))
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password);
            
            // Set parameters
            $param_username = $username;
            $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt))
                // Redirect to login page
                header("location: login.php");
             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>Sign Up</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        bodyfont: 14px sans-serif;
        .wrapperwidth: 350px; padding: 20px;
    </style>
</head>
<body>
    <div class="wrapper">
        <h2>Sign Up</h2>
        <p>Please fill this form to create an account.</p>
        <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
            <div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
                <label>Username</label>
                <input type="text" name="username" class="form-control" value="<?php echo $username; ?>">
                <span class="help-block"><?php echo $username_err; ?></span>
            </div>    
            <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
                <label>Password</label>
                <input type="password" name="password" class="form-control" value="<?php echo $password; ?>">
                <span class="help-block"><?php echo $password_err; ?></span>
            </div>
            <div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>">
                <label>Confirm Password</label>
                <input type="password" name="confirm_password" class="form-control" value="<?php echo $confirm_password; ?>">
                <span class="help-block"><?php echo $confirm_password_err; ?></span>
            </div>
            <div class="form-group">
                <input type="submit" class="btn btn-primary" value="Submit">
                <input type="reset" class="btn btn-default" value="Reset">
            </div>
            <p>Already have an account? <a href="login.php">Login here</a>.</p>
        </form>
    </div>    
</body>
</html>

Contoh di arah memakai guna PHP ‘password_hash()’ yang berfungsi buat mengubah dari password string menjadi teks hash.

Hal ini cukup hebat akibat guna tersebut menggenerate sebentuk password memakai one-way hashing algoritma yang cukup kuat. Fungsi ini jua melaksanakan sistem random salt automatically (pengacakan garam) saat melaksanakan hashing password.

Proses hashing yang dilakukan tersebut memungkinkan penggunaan ahad password yang sama. Namun akibat siap jalan hashing ini, password bisa sama, tetapi aba-aba hash hendak konsisten berbeda.

Selain itu, alur aba-aba di arah hendak memamerkan form buat pendaftaran sekaligus kir error. Pengguna yang tidak mengisi bukti angin atau tidak lengkap hendak menerima deklarasi error dan bukti tidak disimpan. Error ini jua berfaedah detik user ingin membuat username yang sudah ada.

Tampilan alur aba-aba di arah kurang lebih seperti di kolong ini.

4. Membuat Sistem Login

Setelah Anda melakukan bukti dan membuat file konfigurasi, langkah kemudian ialah membuat bagian login dan laman utama. Nantinya di di form login Anda boleh melakukan username dan password bertemu dengan yang sudah dibuat di form registrasi.

Ketika user melaksanakan submit (login) alkisah sistem hendak dengan pembenaran ke di bukti yang sudah disimpan di di database. Jika username dan password sesuai, user boleh dipercaya dan bisa langsung masuk ke di sistem. Namun jika alpa alkisah user hendak memperoleh penjelasan penolakan (rejected).

Berikut ini langkah-langkah buat membuat form login dan atribut lainnya.

5. Membuat Form Login

Pertama, buat lebih-lebih dahulu file “login.php” dan masukkan aba-aba di kolong ini ke dalamnya.

<?php
// Initialize the session
session_start();
 
// Check if the user is already logged in, if yes then redirect him to welcome page
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true)
  header("location: welcome.php");
  exit;

 
// Include config file
require_once "config.php";
 
// Define variables and initialize with empty values
$username = $password = "";
$username_err = $password_err = "";
 
// Processing form bukti when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST")
 
    // Check if username is empty
    if(empty(trim($_POST["username"])))
        $username_err = "Please enter username.";
     else
        $username = trim($_POST["username"]);
    
    
    // Check if password is empty
    if(empty(trim($_POST["password"])))
        $password_err = "Please enter your password.";
     else
        $password = trim($_POST["password"]);
    
    
    // Validate credentials
    if(empty($username_err) && empty($password_err))
        // Prepare a select statement
        $sql = "SELECT id, username, password FROM users WHERE username = ?";
        
        if($stmt = mysqli_prepare($link, $sql))
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "s", $param_username);
            
            // Set parameters
            $param_username = $username;
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt))
                // Store result
                mysqli_stmt_store_result($stmt);
                
                // Check if username exists, if yes then verify password
                if(mysqli_stmt_num_rows($stmt) == 1)                    
                    // Bind result variables
                    mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
                    if(mysqli_stmt_fetch($stmt))
                        if(password_verify($password, $hashed_password))
                            // Password is correct, so awal a new session
                            session_start();
                            
                            // Store bukti in session variables
                            $_SESSION["loggedin"] = true;
                            $_SESSION["id"] = $id;
                            $_SESSION["username"] = $username;                            
                            
                            // Redirect user to welcome page
                            header("location: welcome.php");
                         else
                            // Display an error message if password is not valid
                            $password_err = "The password you entered was not valid.";
                        
                    
                 else
                    // Display an error message if username doesn't exist
                    $username_err = "No account found with that username.";
                
             else
                echo "Oops! 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>Login</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        bodyfont: 14px sans-serif;
        .wrapperwidth: 350px; padding: 20px;
    </style>
</head>
<body>
    <div class="wrapper">
        <h2>Login</h2>
        <p>Please fill in your credentials to login.</p>
        <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
            <div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
                <label>Username</label>
                <input type="text" name="username" class="form-control" value="<?php echo $username; ?>">
                <span class="help-block"><?php echo $username_err; ?></span>
            </div>    
            <div class="form-group <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>">
                <label>Password</label>
                <input type="password" name="password" class="form-control">
                <span class="help-block"><?php echo $password_err; ?></span>
            </div>
            <div class="form-group">
                <input type="submit" class="btn btn-primary" value="Login">
            </div>
            <p>Don't have an account? <a href="register.php">Sign up now</a>.</p>
        </form>
    </div>    
</body>
</html>

Baris aba-aba di arah hendak memetik input id, username, dan password yang dimasukkan user akan datang memverifikasi ke di tabel ‘users’ di di database.

Jika password dan username yang dimasukkan sesuai, user hendak langsung masuk dan memamerkan laman (session) baru –pada afair ini kita memakai file “welcome.php’’.

Baris aba-aba di arah kurang lebih hendak memamerkan tampilan seperti ini.

6. Membuat Halaman Utama

Setelah form login beres absolut sahaja membuat laman elementer buat ditampilkan detik user berbuah masuk ke di sistem.

Nah! Terkadang ala jalan login ada bukti yang berakar dari akar yang tidak dipercaya yang berupaya buat masuk ke di sistem. Biasanya ini diisi oleh user anonymous. Ini sangat beresiko akibat adakala dalam tian script yang berbahaya semisal serangan cross-site scripting (XSS).

Supaya Anda terhindar dari XSS, PHP mempersiapkan guna yang berfaedah buat menanggulanginya yaitu memakai guna htmlspecialchars() dini memamerkan laman di browser. Fungsi ini membuat segala jenis tag HTML yang dalam tian script ‘jahat’ menjadi tidak berbahaya.

Untuk membuat file ini, silakan buat file “welcome.php” akan datang masukkan alur aba-aba di bawah.

<?php
// Initialize the session
session_start();
 
// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true)
    header("location: login.php");
    exit;

?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Welcome</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        bodyfont: 14px sans-serif; text-align: center;
    </style>
</head>
<body>
    <div class="page-header">
        <h1>Hi, <b><?php echo htmlspecialchars($_SESSION["username"]); ?></b>. Welcome to our site.</h1>
    </div>
    <p>
        <a href="reset-password.php" class="btn btn-warning">Reset Your Password</a>
        <a href="logout.php" class="btn btn-danger">Sign Out of Your Account</a>
    </p>
</body>
</html>

7. Membuat Script Logout

Supaya user boleh berpindah dari akun ahad ke aku yang lainnya, Anda krusial membuat fitur gelondong out.

Fungsi dari file ini ialah menangkup laman (session) saat user ini keluar dari akunnya.

Di di script ini ada sebentuk guna yang bepergian saat user melaksanakan klik ala bincul atau link log out atau sign out. Script hendak menangkup session dan akan datang melaksanakan redirect ke laman login.

Silakan buat file dengan asma “logout.php” akan datang masukkan alur aba-aba di kolong ini.

<?php
// Initialize the session
session_start();
 
// Unset all of the session variables
$_SESSION = array();
 
// Destroy the session.
session_destroy();
 
// Redirect to login page
header("location: login.php");
exit;
?>

8. Membuat Fitur Reset Password

Opsional! Anda bisa melanjutkan ke bagian ini jika ingin me-lanjutkan fitur reset password di di aplikasi.

<?php
// Initialize the session
session_start();
 
// Check if the user is logged in, otherwise redirect to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true)
    header("location: login.php");
    exit;

 
// Include config file
require_once "config.php";
 
// Define variables and initialize with empty values
$new_password = $confirm_password = "";
$new_password_err = $confirm_password_err = "";
 
// Processing form bukti when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST")
 
    // Validate new password
    if(empty(trim($_POST["new_password"])))
        $new_password_err = "Please enter the new password.";     
     elseif(strlen(trim($_POST["new_password"])) < 6)
        $new_password_err = "Password must have atleast 6 characters.";
     else
        $new_password = trim($_POST["new_password"]);
    
    
    // Validate confirm password
    if(empty(trim($_POST["confirm_password"])))
        $confirm_password_err = "Please confirm the password.";
     else
        $confirm_password = trim($_POST["confirm_password"]);
        if(empty($new_password_err) && ($new_password != $confirm_password))
            $confirm_password_err = "Password did not match.";
        
    
        
    // Check input errors before updating the database
    if(empty($new_password_err) && empty($confirm_password_err))
        // Prepare an update statement
        $sql = "UPDATE users SET password = ? WHERE id = ?";
        
        if($stmt = mysqli_prepare($link, $sql))
            // Bind variables to the prepared statement as parameters
            mysqli_stmt_bind_param($stmt, "si", $param_password, $param_id);
            
            // Set parameters
            $param_password = password_hash($new_password, PASSWORD_DEFAULT);
            $param_id = $_SESSION["id"];
            
            // Attempt to execute the prepared statement
            if(mysqli_stmt_execute($stmt))
                // Password updated successfully. Destroy the session, and redirect to login page
                session_destroy();
                header("location: login.php");
                exit();
             else
                echo "Oops! 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>Reset Password</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.css">
    <style type="text/css">
        bodyfont: 14px sans-serif;
        .wrapperwidth: 350px; padding: 20px;
    </style>
</head>
<body>
    <div class="wrapper">
        <h2>Reset Password</h2>
        <p>Please fill out this form to reset your password.</p>
        <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> 
            <div class="form-group <?php echo (!empty($new_password_err)) ? 'has-error' : ''; ?>">
                <label>New Password</label>
                <input type="password" name="new_password" class="form-control" value="<?php echo $new_password; ?>">
                <span class="help-block"><?php echo $new_password_err; ?></span>
            </div>
            <div class="form-group <?php echo (!empty($confirm_password_err)) ? 'has-error' : ''; ?>">
                <label>Confirm Password</label>
                <input type="password" name="confirm_password" class="form-control">
                <span class="help-block"><?php echo $confirm_password_err; ?></span>
            </div>
            <div class="form-group">
                <input type="submit" class="btn btn-primary" value="Submit">
                <a class="btn btn-link" href="welcome.php">Cancel</a>
            </div>
        </form>
    </div>    
</body>
</html>

Penutup

Demikian tutorial aturan membuat CRUD dengan PHP dan MySQL. CRUD (Create, Read, Update, Delete) merupakan aktivitas yang pasti digunakan di di jalan pembangunan aplikasi web, Maka dari itu, aktivitas ini wajib dipelajari dan dimengerti dengan baik. Apalagi sebentuk aplikasi web tidak pernah lepas dari penggunaan database.

PHP dan MySQL merupakan afiliasi yang sering dipakai. Baik adab perancangan PHP meskipun database peladen MySQL, keduanya ada pemilihan yang lengkap dan tidak tergolong rumit sehingga Anda dengan mudah boleh fasih keduanya dengan cepat.

Anda mungkin lagi ada jumlah pertanyaan, silakan tinggalkan interogasi tersebut dengan kolom anggapan di kolong ini. Jika Anda mengasyiki karangan dari abdi atau ingin memperoleh penjelasan terbaru dari kami, jangan lupa subscribe. Semoga karangan ini bermanfaat.

Sekian penjelasan mengenai Cara Membuat CRUD Dengan PHP Dan MySQL - Niagahoster Blog semoga artikel ini bermanfaat salam

tulisan ini diposting pada kategori , tanggal 04-08-2019, di kutip dari https://www.niagahoster.co.id/blog/cara-membuat-crud-dengan-php-dan-mysql/

Related Posts

There is no other posts in this category.

Post a Comment