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! 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: 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. 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. 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: 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. 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. Kemudian masukkan TABEL yang nantinya digunakan buat bukti karyawan (employee). 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;”. 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. 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. 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. Masukkan jumlah bukti karyawan dengan laman landing page. Baris aba-aba di kurang lebih memamerkan tabel seperti di kolong ini. 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. 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. 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. 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. 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. 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. 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. 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. 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. Pastikan bahwa tabel users sudah terbuat dengan baik. 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. Ganti penjelasan di arah bertemu dengan pengaturan di MySQL peladen Anda. Ganti username, password, dan asma database seperti yang Anda buat. 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). 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. 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. Pertama, buat lebih-lebih dahulu file “login.php” dan masukkan aba-aba di kolong ini ke dalamnya. 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. 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. 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. Opsional! Anda bisa melanjutkan ke bagian ini jika ingin me-lanjutkan fitur reset password di di aplikasi. 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.Apa itu CRUD?
Cara Membuat CRUD Dengan PHP Dan MySQL
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.1. Membuat Tabel Database
CREATE DATABASE niagahoster;
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. Membuat File Config
<?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());
?>
3. Membuat Landing Page
<!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>
4. Membuat Halaman Create
<?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>
5. Membuat Halaman Read
<?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
<?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
<?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
<!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
1. Membuat Sistem Registrasi
Membuat Tabel Database
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
);
2. Membuat File Config
<?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());
?>
3. Membuat Form Registrasi
<?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>
4. Membuat Sistem Login
5. Membuat Form Login
<?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>
6. Membuat Halaman Utama
<?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
<?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
<?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
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/
Post a Comment
Post a Comment