Koneksi PHP ke MySQL: Difference between revisions
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..." |
No edit summary |
||
| 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 00: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.