Difference between revisions of "Koneksi PHP ke MySQL"
Onnowpurbo (talk | contribs) (Created page with "Berikut adalah modul praktik yang membahas cara menghubungkan PHP dengan MySQL pada Ubuntu 24.04. Modul ini dirancang sebagai bagian dari kuliah pemrograman web dan tidak meng...") |
Onnowpurbo (talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | ==Tujuan Pembelajaran:== | |
+ | * Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04. | ||
+ | * Membuat koneksi antara PHP dan MySQL untuk pengembangan aplikasi web dinamis. | ||
− | + | ==Prasyarat:== | |
− | + | * Komputer dengan sistem operasi Ubuntu 24.04. | |
− | + | * Akses ke terminal dengan hak akses sudo. | |
+ | * Koneksi internet untuk mengunduh paket yang diperlukan. | ||
− | + | ==Bagian 1: Instalasi LAMP Stack== | |
− | |||
− | |||
− | |||
− | + | LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP. Berikut adalah langkah-langkah untuk menginstalnya: | |
− | + | 1. '''Perbarui daftar paket:''' | |
+ | |||
+ | sudo apt update | ||
− | + | 2. '''Instal Apache:''' | |
− | + | ||
− | + | sudo apt install apache2 | |
− | |||
− | |||
− | + | Setelah instalasi, verifikasi bahwa Apache berjalan: | |
− | + | ||
− | + | sudo systemctl status apache2 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Pastikan statusnya "active (running)". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 3. '''Instal MySQL:''' | |
− | + | ||
− | + | sudo apt install mysql-server | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Setelah instalasi, amankan MySQL dengan: | |
+ | |||
+ | sudo mysql_secure_installation | ||
− | + | Ikuti petunjuk untuk mengatur kata sandi root dan opsi keamanan lainnya. | |
− | |||
− | |||
− | |||
− | |||
− | + | 4. '''Instal PHP:''' | |
− | + | ||
− | + | sudo apt install php libapache2-mod-php php-mysql | |
− | |||
− | |||
− | + | Verifikasi instalasi PHP dengan membuat file `info.php` di direktori root web: | |
− | + | ||
− | + | echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php | |
− | |||
− | |||
− | + | Kemudian, buka `http://localhost/info.php` di browser Anda untuk melihat informasi PHP. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Bagian 2: Membuat Basis Data dan Tabel Pengguna== | |
− | 1. | + | 1. '''Masuk ke MySQL:''' |
− | + | ||
− | + | sudo mysql | |
− | |||
− | |||
− | |||
− | |||
− | + | 2. '''Buat basis data baru:''' | |
− | + | ||
+ | CREATE DATABASE pengelolaan_pengguna; | ||
− | + | 3. '''Gunakan basis data tersebut:''' | |
− | + | ||
− | + | USE pengelolaan_pengguna; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | 4. '''Buat tabel `pengguna`:''' | |
− | + | ||
+ | CREATE TABLE pengguna ( | ||
+ | id INT AUTO_INCREMENT PRIMARY KEY, | ||
+ | nama VARCHAR(100), | ||
+ | email VARCHAR(100), | ||
+ | kata_sandi VARCHAR(255) | ||
+ | ); | ||
− | + | '''Bagian 3: Menghubungkan PHP ke MySQL''' | |
− | 1. | + | 1. '''Buat file `koneksi.php` di direktori root web:''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <pre> | |
+ | <?php | ||
+ | $servername = "localhost"; | ||
+ | $username = "root"; | ||
+ | $password = ""; | ||
+ | $dbname = "pengelolaan_pengguna"; | ||
+ | |||
+ | // Membuat koneksi | ||
+ | $conn = new mysqli($servername, $username, $password, $dbname); | ||
+ | |||
+ | // Periksa koneksi | ||
+ | if ($conn->connect_error) { | ||
+ | die("Koneksi gagal: " . $conn->connect_error); | ||
+ | } | ||
+ | echo "Koneksi berhasil"; | ||
+ | ?> | ||
+ | </pre> | ||
− | + | Simpan file ini sebagai `koneksi.php` di direktori `/var/www/html/`. | |
− | + | 2. '''Uji Koneksi:''' | |
− | |||
− | |||
− | |||
− | |||
− | + | Buka browser dan akses `http://localhost/koneksi.php`. Jika koneksi berhasil, Anda akan melihat pesan "Koneksi berhasil". | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Bagian 4: Menambahkan Data Pengguna melalui Formulir PHP== | |
− | |||
− | + | 1. '''Buat file `tambah_pengguna.php`:''' | |
− | + | ||
− | + | <pre> | |
− | + | <?php | |
+ | if ($_SERVER["REQUEST_METHOD"] == "POST") { | ||
+ | $nama = $_POST['nama']; | ||
+ | $email = $_POST['email']; | ||
+ | $kata_sandi = password_hash($_POST['kata_sandi'], PASSWORD_DEFAULT); | ||
+ | |||
+ | require 'koneksi.php'; | ||
+ | |||
+ | $sql = "INSERT INTO pengguna (nama, email, kata_sandi) VALUES ('$nama', '$email', '$kata_sandi')"; | ||
+ | |||
+ | if ($conn->query($sql) === TRUE) { | ||
+ | echo "Pendaftaran berhasil"; | ||
+ | } else { | ||
+ | echo "Error: " . $sql . "<br>" . $conn->error; | ||
+ | } | ||
+ | |||
+ | $conn->close(); | ||
+ | } | ||
+ | ?> | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head> | ||
+ | <title>Formulir Pendaftaran</title> | ||
+ | </head> | ||
+ | <body> | ||
+ | <h2>Formulir Pendaftaran Pengguna</h2> | ||
+ | <form method="post" action=""> | ||
+ | Nama: <input type="text" name="nama" required><br> | ||
+ | Email: <input type="email" name="email" required><br> | ||
+ | Kata Sandi: <input type="password" name="kata_sandi" required><br> | ||
+ | <input type="submit" value="Daftar"> | ||
+ | </form> | ||
+ | </body> | ||
+ | </html> | ||
+ | </pre> | ||
+ | |||
+ | Simpan file ini sebagai `tambah_pengguna.php` di direktori `/var/www/html/`. | ||
+ | |||
+ | 2. '''Uji Formulir Pendaftaran:''' | ||
+ | |||
+ | Buka browser dan akses `http://localhost/tambah_pengguna.php`. Isi formulir dan kirimkan untuk menambahkan pengguna baru ke basis data. | ||
+ | |||
+ | ==Catatan Keamanan:== | ||
+ | * Selalu gunakan metode hashing yang kuat seperti `password_hash()` untuk menyimpan kata sandi pengguna. | ||
+ | * Lakukan validasi dan sanitasi data yang diterima dari pengguna untuk mencegah serangan injeksi SQL. | ||
+ | * Pertimbangkan untuk menggunakan Prepared Statements atau PDO untuk interaksi yang lebih aman dengan basis data. | ||
+ | |||
+ | |||
+ | ==Pranala Menarik== | ||
+ | |||
+ | * [[Web Programming]] |
Latest revision as of 07:18, 7 April 2025
Tujuan Pembelajaran:
- Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04.
- Membuat koneksi antara PHP dan MySQL untuk pengembangan aplikasi web dinamis.
Prasyarat:
- Komputer dengan sistem operasi Ubuntu 24.04.
- Akses ke terminal dengan hak akses sudo.
- Koneksi internet untuk mengunduh paket yang diperlukan.
Bagian 1: Instalasi LAMP Stack
LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP. Berikut adalah langkah-langkah untuk menginstalnya:
1. Perbarui daftar paket:
sudo apt update
2. Instal Apache:
sudo apt install apache2
Setelah instalasi, verifikasi bahwa Apache berjalan:
sudo systemctl status apache2
Pastikan statusnya "active (running)".
3. Instal MySQL:
sudo apt install mysql-server
Setelah instalasi, amankan MySQL dengan:
sudo mysql_secure_installation
Ikuti petunjuk untuk mengatur kata sandi root dan opsi keamanan lainnya.
4. Instal PHP:
sudo apt install php libapache2-mod-php php-mysql
Verifikasi instalasi PHP dengan membuat file `info.php` di direktori root web:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Kemudian, buka `http://localhost/info.php` di browser Anda untuk melihat informasi PHP.
Bagian 2: Membuat Basis Data dan Tabel Pengguna
1. Masuk ke MySQL:
sudo mysql
2. Buat basis data baru:
CREATE DATABASE pengelolaan_pengguna;
3. Gunakan basis data tersebut:
USE pengelolaan_pengguna;
4. Buat tabel `pengguna`:
CREATE TABLE pengguna ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), email VARCHAR(100), kata_sandi VARCHAR(255) );
Bagian 3: Menghubungkan PHP ke MySQL
1. Buat file `koneksi.php` di direktori root web:
<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "pengelolaan_pengguna"; // Membuat koneksi $conn = new mysqli($servername, $username, $password, $dbname); // Periksa koneksi if ($conn->connect_error) { die("Koneksi gagal: " . $conn->connect_error); } echo "Koneksi berhasil"; ?>
Simpan file ini sebagai `koneksi.php` di direktori `/var/www/html/`.
2. Uji Koneksi:
Buka browser dan akses `http://localhost/koneksi.php`. Jika koneksi berhasil, Anda akan melihat pesan "Koneksi berhasil".
Bagian 4: Menambahkan Data Pengguna melalui Formulir PHP
1. Buat file `tambah_pengguna.php`:
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $nama = $_POST['nama']; $email = $_POST['email']; $kata_sandi = password_hash($_POST['kata_sandi'], PASSWORD_DEFAULT); require 'koneksi.php'; $sql = "INSERT INTO pengguna (nama, email, kata_sandi) VALUES ('$nama', '$email', '$kata_sandi')"; if ($conn->query($sql) === TRUE) { echo "Pendaftaran berhasil"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); } ?>
<!DOCTYPE html> <html> <head> <title>Formulir Pendaftaran</title> </head> <body> <h2>Formulir Pendaftaran Pengguna</h2> <form method="post" action=""> Nama: <input type="text" name="nama" required><br> Email: <input type="email" name="email" required><br> Kata Sandi: <input type="password" name="kata_sandi" required><br> <input type="submit" value="Daftar"> </form> </body> </html>
Simpan file ini sebagai `tambah_pengguna.php` di direktori `/var/www/html/`.
2. Uji Formulir Pendaftaran:
Buka browser dan akses `http://localhost/tambah_pengguna.php`. Isi formulir dan kirimkan untuk menambahkan pengguna baru ke basis data.
Catatan Keamanan:
- Selalu gunakan metode hashing yang kuat seperti `password_hash()` untuk menyimpan kata sandi pengguna.
- Lakukan validasi dan sanitasi data yang diterima dari pengguna untuk mencegah serangan injeksi SQL.
- Pertimbangkan untuk menggunakan Prepared Statements atau PDO untuk interaksi yang lebih aman dengan basis data.