Data yang bertahan menjadi database POSGRESQL dengan PHP

Data yang bertahan menjadi database POSGRESQL dengan PHP

PHP adalah bahasa skrip server yang banyak digunakan. Kemampuannya yang luas dan sifat ringan membuatnya ideal untuk pengembangan frontend web, dan meskipun dimungkinkan untuk membuat struktur canggih di dalamnya, penggunaan dasar juga mudah dipelajari, yang menjadikannya titik awal yang baik untuk pemula juga. Data yang direkam, diproses, dikirim atau ditampilkan oleh aplikasi yang kami buat perlu disimpan di suatu tempat; Halaman web kami adalah tanpa kewarganegaraan tanpa data ini. Kami dapat menyimpan data kami dalam banyak hal atau bahkan membuangnya setelah digunakan, tetapi cara yang paling standar adalah menyimpannya dalam database yang dirancang untuk tujuan tunggal menyimpan data dengan cara yang dapat diandalkan, dan menyajikannya jika diperlukan, secepat mungkin.

Dalam tutorial ini kami akan membangun halaman web sederhana untuk merekam dan menampilkan data pengguna. Kami akan menggunakan RDBMS PostgreSQL sebagai backend, dan mengembangkan aplikasi kami di PHP yang akan berjalan di Webserver Apache. Dengan cara ini kami dapat mengakses aplikasi web kami dari browser umum mana pun untuk melihat atau menambahkan ke database pengguna kami. Ini adalah sifat dari aplikasi web yang dapat dikerjakan oleh banyak pengguna/operator secara bersamaan, yang mereka butuhkan hanyalah browser dan akses jaringan ke aplikasi kami.

Dalam tutorial ini Anda akan belajar:

  • Cara menginstal paket yang diperlukan untuk koneksi postgresql di php
  • Cara membuat sisi database aplikasi
  • Cara mengkode contoh aplikasi
  • Cara mengoperasikan dan memverifikasi contoh aplikasi
Merekam Data How Browser.

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Ubuntu 18.04.2
Perangkat lunak PostgreSQL 10.9, PHP 7.2.19
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Catatan tentang komponen perangkat lunak

Kami mengatur aplikasi kami di Ubuntu, tetapi pada dasarnya proses ini dapat diangkut ke distribusi apa pun. Perbedaan ada pada manajer paket dan nama paket, serta di beberapa jalur direktori. Perhatikan juga bahwa sementara kami akan menggunakan versi komponen perangkat lunak yang disebutkan di atas, aplikasi ini dapat dibangun di berbagai versi komponen dengan penyesuaian kecil. Beberapa contoh distribusi lain akan dimasukkan untuk perbandingan.

Anda mungkin memperhatikan bahwa aplikasi ini minimalis: itu sengaja. Tujuan dari panduan ini adalah untuk menunjukkan prinsip -prinsip dasar pengembangan aplikasi yang dapat berkomunikasi dengan database, sesederhana mungkin. Kode minimal, komponen minimal. Jangan gunakan panduan ini untuk membangun aplikasi produksi, karena tidak memiliki pengukuran keamanan, reuseability atau optimasi dalam hal ini.

Memasang paket yang diperlukan

Setelah menginstal database PostgreSQL, yang kami butuhkan adalah menambahkan dukungan PHP. Untuk itu, kita membutuhkan PHP-PGSQL kemasan. Kami akan menggunakannya tepat untuk menginstalnya:

# apt-get install php-pgsql

Beberapa distro mungkin menyebutnya php7-pgsql Dan sejenisnya, tetapi semua manajer paket menyediakan fungsi pencarian, jadi mudah untuk menemukan apa yang kita butuhkan. Misalnya, ini adalah cara Anda menginstal PostgreSQL pada sistem Linux Rhel8 / Centos 8.

Kami juga perlu menginstal PHP, server web, dan dukungan PHP pada server web. Itu dua paket jauhnya:

# apt-get instal apache2 libapache2-mod-php

Kami dapat memulai kedua layanan sehingga tersedia dalam langkah selanjutnya. Kami akan menggunakannya Systemd untuk itu.

# Systemctl Mulai postgresql # Systemclt Mulai Apache2


Membuat database dan objek yang dibutuhkan

Sisi database aplikasi kami akan terdiri dari database, tabel tunggal dan urutan untuk mendukung penugasan kunci utama otomatis.

  1. Kami akan beralih ke postgres pengguna:
    # Su - Postgres
  2. Masuk ke database:
    $ psql psql (10.9 (Ubuntu 10.9-0ubuntu0.18.04.1)) Ketik "bantuan" untuk bantuan. Postgres =#
  3. Buat pengguna baru:
    Postgres =# Buat Peran Contoh dengan kata sandi login 'examplePass';

    Dan database dengan set pemilik.

    Postgres =# Buat basis data exampledB pemilik contoh encoding 'UTF-8';
  4. Setelah keluar psql Alat, kami membuat file teks yang dipanggil example_table.SQL dengan konten berikut:
    Buat urutan userid_seq mulai dengan 0 kenaikan dengan 1 tidak ada maxvalue minvalue 0 cache 1; ubah urutan pemilik userid_seq ke contoh; Buat Pengguna Tabel (UserID Numeric Key Default nextVal ('userid_seq' :: regclass), teks nama pengguna bukan nol, email teks bukan nol, registrasi_date timestamp default sekarang ()); ubah pemilik pengguna tabel ke Contoh Pengguna;
    Menyalin

    Di sini kami membuat urutan di baris 1 yang akan memberikan kunci utama unik untuk setiap catatan dalam tabel, daripada mengatur kepemilikannya. Di baris 3 kami membuat tabel yang akan menyimpan data pengguna yang akan kami rekam dan tampilkan dengan aplikasi. Kami menetapkan nilai default untuk identitas pengguna Dan tanggal registrasi, dan akan menyerahkannya ke database untuk mengisi bidang -bidang itu untuk kami.

  5. Kami memuat file SQL di atas ke dalam database baru:
    $ psql -d exampledb < example_table.sql CREATE SEQUENCE ALTER SEQUENCE CREATE TABLE ALTER TABLE

Dengan ini basis data kami diatur dan siap untuk disajikan. PostgreSQL 10.9 Di Ubuntu menerima login yang dilindungi kata sandi di perangkat loopback secara default. Jika Anda menggunakan versi lain, Anda mungkin perlu memodifikasi PG_HBA.conf untuk memungkinkan akses ke database. Ada contoh dalam panduan instalasi RedMine kami tentang cara mengaturnya.

Membangun Kode Aplikasi

Meskipun pasti ada banyak alat hebat di luar sana untuk membantu menghasilkan kode sumber kerja, kami tidak akan membahasnya di sini, itu akan menambah kompleksitas panduan ini. Kami akan membuat TextFile yang disebut rekaman.php, di default Document_root Direktori di Ubuntu 18, /var/www/html/. Pada distribusi lain ini bisa jadi /srv/www/htdocs/, atau sesuatu yang lain. Lihat konfigurasi webserver jika Anda tidak yakin.

PHP adalah bahasa skrip, yang berarti kita tidak perlu mengkompilasi kode kita, cukup menyajikannya ke server web, yang akan menafsirkannya runtime.

Kita dapat menggunakan editor teks baris perintah, seperti vi atau nano Untuk mengisi file PHP yang disebutkan dengan kode sumber berikut:

    Halaman perekaman pengguna   

Harap isi formulir di bawah ini dan tekan Kirim untuk merekam data.





\N#Nama belakangAlamat emailTanggal registrasi\ n "; while ($ row = pg_fetch_row ($ result)) echo"" . $ baris [0] . "" . $ baris [1] . "" . $ baris [2] . "" . $ baris [3] . "\ n "; gema"\ n "; / * Bagian 7 * / pg_close ($ dbconn); ?>
Menyalin

Kami memulai kode kami sebagai halaman HTML statis sederhana di bagian 1. Kami membuat formulir di seksi 2 yang memberi pengguna kemampuan untuk merekam data ke dalam aplikasi. Kami hanya akan meminta nama pengguna dan alamat email. Pada Bagian 3 kami menyematkan kode php ke halaman. Bagian 4 Membuat koneksi database menggunakan informasi koneksi yang kami atur pada langkah database. Jika koneksi tidak dapat dibangun, aplikasi mati dengan pesan kesalahan.



Pada Bagian 5 Kami menangani data apa pun yang dikirim untuk diproses dengan formulir yang kami buat seksi 2. Jika "nama pengguna" dan "email" diposting, kami akan memeriksa apakah mereka tidak kosong, dan jika tidak, kami akan memasukkannya ke dalam database menggunakan koneksi database kami.

Terlepas dari menerima data yang diposting, kami akan meminta tabel database untuk data pengguna yang sudah direkam di Bagian 6. Kami akan menghasilkan kode HTML yang diperlukan untuk menyediakan tabel yang diisi dengan data yang dikembalikan dari database.

Pada setion 7 Kami menutup koneksi database kami (selalu membersihkan objek yang tidak diperlukan lagi!), dan di Bagian 8 Kami meninggalkan kode PHP, dan menyelesaikan halaman kami dengan tag HTML sederhana. Dan dengan ini, aplikasi kami selesai, kami dapat mulai menggunakannya.

Menggunakan aplikasi

Kami akan mengarahkan browser http: // localhost/perekaman.php. Halaman satu -satunya aplikasi contoh kami akan muncul.

Tabel Pengguna kosong.

Kita dapat mengisi bidang formulir dengan data acak untuk menguji aplikasi. Saat teks ditambahkan ke kedua bidang, kami dapat mengirimkan data.

Mengisi Formulir Bidang dengan Data Sampel.

Setelah dikirim, halaman menunjukkan formulir yang sama di mana kami dapat merekam pengguna kami berikutnya, dan juga yang sudah direkam, yang ditanya dari database setelah penyisipan. Kami telah menyelesaikan tujuan aplikasi perekaman data pengguna kami.

Daftar aplikasi yang sudah direkam data.

Kami juga dapat memverifikasi bahwa data disimpan dengan sukses dalam database menggunakan psql:

$ psql -d exampledb exampledb =# pilih * dari pengguna; userid | Nama pengguna | Email | Registrasi_date --------+----------+------------------------+---- ------------------------ 0 | foobar | [email protected] | 2019-06-25 20:28:18.224375 (1 baris)


Pikiran terakhir

Kami membuat contoh aplikasi menggunakan pengetahuan dari berbagai bidang, database, server web, Http Protokol secara umum, dan tentu saja pengembangan PHP. Panduan ini bermaksud untuk menunjukkan betapa mudahnya menciptakan sesuatu yang berguna dengan persatuan bidang -bidang ini. Harapan saya adalah bahwa panduan ini dapat membantu pemula untuk memahami beberapa aspek pengembangan, dan dapat menunjukkan bahwa itu bukan ilmu ruang angkasa - kami hanya menambahkan beberapa baris kode di sana -sini, dan semuanya mulai bekerja bersama.

Sementara contoh aplikasi ini memang melayani tujuan demonstrasi, kode, dan seluruh solusi tentu saja menangis untuk perbaikan. Hanya untuk beberapa nama…

  • Tidak ada yang mencegah operator merekam nama pengguna yang tepat dan/atau email dua kali. Itu akan menghasilkan catatan yang berlebihan. Ini dapat ditangani baik di sisi basis data (kendala unik) dan aplikasi (verifikasi data sebelum penyisipan).
  • Dari mana berasal dari data yang direkam? Apa yang melindungi aplikasi dari aktor yang buruk? Saat ini tidak ada, satu skrip shell akan cukup untuk membebani, hanya pertahanan default webserver yang ada - tetapi itu tidak mencegah saya memposting trilogi Lord of the Rings penuh di salah satu bidang 1000 kali per menit ( hanya bandwidth). Dalam keadaan aplikasi ini, mudah untuk mengisi disk di bawah database dengan data acak - verifikasi input pengguna datang untuk bermain di sini lagi, tetapi juga otentikasi dan otorisasi.
  • Desain web benar -benar hilang pada saat ini. Beberapa CSS, Beberapa teks lagi yang membantu pekerjaan operator, pesan kesalahan yang bermanfaat ... keramahan pengguna juga merupakan sudut pandang yang penting.
  • Secara alami merekam nama pengguna pengguna dan email yang terkait hanyalah sebuah contoh, kami dapat merekam nama depan dan belakang, nomor telepon mungkin, lebih dari satu email per pengguna ... hal lain yang berguna untuk disimpan.

Daftar itu bisa terus dan terus. Terserah Anda, pembaca, untuk meningkatkan aplikasi Anda sendiri. Jika panduan ini membantu Anda melangkah di jalur pengembangan, baik sebagai hobi atau dengan bertujuan untuk menjadi seorang profesional, maka ia melayani tujuannya dengan baik.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Loop bersarang dalam skrip bash
  • Cara membuat tumpukan lampu berbasis Docker menggunakan Docker di…
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Instalasi ampache raspberry pi
  • Linux Apache Tidak Melaksanakan File PHP: Solusi
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Instalasi OpenLitespeed WordPress
  • Cara menginstal php di ubuntu linux