Membuat Situs Web Basis Data dengan Apache24 PHP dan PostgreSQL
· 2 min read · Label UnixBSDPHP adalah bahasa skrip sisi server yang banyak digunakan. Kemampuannya yang luas dan kemudahan penggunaannya menjadikan PHP ideal untuk pengembangan web front-end, dan meskipun memungkinkan kita membuat struktur tingkat lanjut, penggunaan dasarnya juga mudah dipelajari, menjadikannya titik awal yang baik bagi para pemula.
Namun, data yang direkam, diproses, dikirim, atau ditampilkan oleh aplikasi yang kita buat perlu disimpan di suatu tempat, halaman web kita tidak memiliki status tanpa data ini. Kita dapat menyimpan data kita dengan berbagai cara atau bahkan membuangnya setelah digunakan, tetapi cara yang paling standar adalah menyimpannya dalam basis data yang dirancang semata-mata untuk menyimpan data dengan aman dan menyajikannya saat dibutuhkan secepat mungkin.
PostgreSQL, juga dikenal sebagai Postgres, adalah sistem manajemen basis data relasional sumber terbuka dan gratis yang menekankan ekstensibilitas dan kepatuhan SQL. Awalnya disebut POSTGRES, merujuk pada asal-usulnya sebagai penerus basis data Ingres yang dikembangkan di University of California.
Agar basis data PostgreSQL dapat dihubungkan ke PHP dan dapat dimodifikasi melalui halaman situs web, komputer Anda harus memiliki spesifikasi seperti di bawah ini yang terpasang.
1. Spesifikasi sistem
- OS: FreeBSD 13.2
- Hostname/Domain: ns1@unixexplore.com
- IP Address: 192.168.5.2
- phpPgAdmin 7.14.4-mod
- Apache24
- PHP82
- modul dan extension PHP
- PHP-FPM
- PostgreSQL 15.3
Sebelum kita melanjutkan ke bagian 2, ada baiknya Anda membaca artikel sebelumnya: "Membuat koneksi database postgresql dengan PHP dan Apache di FreeBSD". Karena jika PostgresQL tidak terhubung ke PHP, jangan berharap aplikasi situs web Anda dapat berjalan dengan sempurna.
2. Membuat Tabel Baru
Langkah pertama dalam membuat aplikasi web sederhana ini adalah membuat tabel baru di database PostgresQL. Berikut cara membuatnya.root@ns1:~ # su - postgres $ psql postgres psql (15.4, server 15.3) Type "help" for help. postgres=# CREATE TABLE public.user ( id serial, name character varying(250), email character varying(250), password character varying(250), mobno bigint, CONSTRAINT id PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); CREATE TABLE postgres=#Deskripsi skrip di atas adalah untuk membuka database dengan nama "postgres" dan membuat tabel baru dengan nama "user". Isi tabel "user" terdiri dari nama, email, password, dan nomor ponsel. Berikut ini adalah isi tabel "user".
postgres=# SELECT * FROM "public"."user";
id | name | email | password | mobno
----+------+-------+----------+-------
(0 rows)
postgres=#
Pada contoh kasus ini, untuk melakukan input atau memasukkan data pada tabel "user" kita akan melakukannya melalui Google Chrome, Yandex atau web browser lainnya. Agar web browser Google Chrome dapat berfungsi untuk melakukan input data pada tabel "user", kita akan membuat skrip php dengan nama "register.php" dan "login.php". Kedua file ini akan kita tempatkan pada folder "/usr/local/www/apache24/data".
Untuk melengkapi pembelajaran pada artikel ini, disarankan agar Anda membaca artikel "Cara Menginstal dan Mengkonfigurasi PostgreSQL di FreeBSD 14". Berikut ini adalah skrip yang harus Anda ketik di file "/usr/local/www/apache24/data/register.php" dan "/usr/local/www/apache24/data/login.php"
Untuk melengkapi pembelajaran pada artikel ini, disarankan agar Anda membaca artikel "Cara Menginstal dan Mengkonfigurasi PostgreSQL di FreeBSD 14". Berikut ini adalah skrip yang harus Anda ketik di file "/usr/local/www/apache24/data/register.php" dan "/usr/local/www/apache24/data/login.php"
root@ns1:~ # ee /usr/local/www/apache24/data/register.php <?php $host = "192.168.5.2"; $port = "5432"; $dbname = "postgres"; $user = "postgres"; $password = "router"; $connection_string = "host={$host} port={$port} dbname={$dbname} user={$user} password={$password} "; $dbconn = pg_connect($connection_string); if(isset($_POST['submit'])&&!empty($_POST['submit'])){ $sql = "insert into public.user(name,email,password,mobno)values('".$_POST['name']."','".$_POST['email']."','".md5($_POST['pwd'])."','".$_POST['mobno']."')"; $ret = pg_query($dbconn, $sql); if($ret){ echo "Data saved Successfully"; }else{ echo "Soething Went Wrong"; } } ?> <!DOCTYPE html> <html lang="en"> <head> <title>PHP PostgreSQL Registration & Login Example </title> <meta name="keywords" content="PHP,PostgreSQL,Insert,Login"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Register Here </h2> <form method="post"> <div class="form-group"> <label for="name">Name:</label> <input type="text" class="form-control" id="name" placeholder="Enter name" name="name" requuired> </div> <div class="form-group"> <label for="email">Email:</label> <input type="email" class="form-control" id="email" placeholder="Enter email" name="email"> </div> <div class="form-group"> <label for="pwd">Mobile No:</label> <input type="number" class="form-control" maxlength="10" id="mobileno" placeholder="Enter Mobile Number" name="mobno"> </div> <div class="form-group"> <label for="pwd">Password:</label> <input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pwd"> </div> <input type="submit" name="submit" class="btn btn-primary" value="Submit"> </form> </div> </body> </html>
root@ns1:~ # ee /usr/local/www/apache24/data/login.php <?php $host = "192.168.5.2"; $port = "5432"; $dbname = "postgres"; $user = "postgres"; $password = "router"; $connection_string = "host={$host} port={$port} dbname={$dbname} user={$user} password={$password} "; $dbconn = pg_connect($connection_string); if(isset($_POST['submit'])&&!empty($_POST['submit'])){ $hashpassword = md5($_POST['pwd']); $sql ="select *from public.user where email = '".pg_escape_string($_POST['email'])."' and password ='".$hashpassword."'"; $data = pg_query($dbconn,$sql); $login_check = pg_num_rows($data); if($login_check > 0){ echo "Login Successfully"; }else{ echo "Invalid Details"; } } ?> <!DOCTYPE html> <html lang="en"> <head> <title>PHP PostgreSQL Registration & Login Example </title> <meta name="keywords" content="PHP,PostgreSQL,Insert,Login"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Login Here </h2> <form method="post"> <div class="form-group"> <label for="email">Email:</label> <input type="email" class="form-control" id="email" placeholder="Enter email" name="email"> </div> <div class="form-group"> <label for="pwd">Password:</label> <input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pwd"> </div> <input type="submit" name="submit" class="btn btn-primary" value="Submit"> </form> </div> </body> </html>
Sekarang kita buka web browser Google Chrome, Firefox atau Yandex untuk mengisi atau menginput tabel "user". Pada menu address bar web browser Firefox, ketik "http://192.168.5.2/register.php" dan isikan data pada web browser tersebut.
Setelah selesai memasukkan data seperti di atas, klik tombol "Submit"
Perhatikan pada sisi kiri web browser Firefox, terdapat tulisan "Data saved successful", artinya data telah berhasil disimpan. Lakukan langkah-langkah di atas hingga 3 atau 5 nama. Hasilnya dapat Anda lihat sebagai berikut.
postgres=# SELECT * FROM "public"."user"; id | name | email | password | mobno ----+---------------+---------------------+----------------------------------+------------- 1 | iwan setiawan | datainchi@gmail.com | f82d7f6c2ab22a228da7c99dde71869c | 81289065249 2 | M. Jaka | inchi@gmail.com | f82d7f6c2ab22a228da7c99dde71869c | 81289065241 3 | Kanaka Robih | data@gmail.com | f82d7f6c2ab22a228da7c99dde71869c | 81289056247 (3 rows) postgres=#
Password yang ditampilkan di atas bukanlah password yang sebenarnya. Password yang asli tidak ditampilkan. Karena untuk 3 nama tersebut, kita membuat password "router1", "router2", dan "router3". Sekarang kita uji coba untuk login ke 3 nama tersebut. Pada Firefox atau Google Chrome ketik "192.168.5.2/login.php".
Pada tampilan ini, kita coba login dengan "datainchi@gmail.com" atau user name "iwan setiawan" dengan password "router1", jika data login sesuai dengan data yang dimasukkan pada file input data "register.php", maka akan muncul tulisan "Login Berhasil"
Artikel ini hanya beberapa contoh penggunaan database PostgreSQL dengan PHP. Anda dapat membaca artikel lainnya tentang pembuatan aplikasi web berbasis PostgreSQL dan PHP, karena PostgreSQL merupakan database terbaik yang tidak kalah populer dengan server MySQL.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar