Site icon Mawan.NET

Script PHP Untuk Mengumumkan Hasil Ujian

Kita sudah berada di akhir Maret. Artinya, sebentar lagi para admin sekolah akan disibukkan oleh pengumuman nilai PTS (Penilaian Tengah Semester), pengumuman hasil Ujian Sekolah, pengumuman PPDB (Penerimaan Peserta Didik Baru), dan sebagainya. Agar lebih terjaga privacy-nya, maka direncanakan agar setiap siswa hanya bisa melihat nilai dirinya sendiri. Nilai itu disajikan dalam bentuk file PDF. Siswa harus mengetik username dan password yang tepat agar nilainya muncul dan bisa diunduh.

Contoh tampilan webnya seperti ini:
https://www.mawan.net/unduh

Saya sudah menyediakan 1 contoh transkrip nilai untuk 1 siswa.
NIS: 111
Password: 222

Bagaimana script PHP-nya?

Teman-teman di MGMP dan di grup Telegram banyak yang meminta script ini. Oke lah. Saya buatkan yang paling sederhana. Tidak perlu database. Cukup sediakan file PDF. Misalkan ada 36 siswa, berarti harus ada 36 file PDF. Nama file harus berpola seperti ini: NIS-Password.pdf

Misalkan NIS (Nomor Induk Siswa) adalah 12345 dan passwordnya adalah 888, maka nama file PDF-nya adalah 12345-888.pdf. File PDF ini kemudian diunggah ke web server, pada folder yang sama dengan script PHP. Sangat mudah kan?

Mengunduh Script

Ada 3 cara mengunduh script, yaitu:

  1. Bagi pengguna VPS atau server fisik, gunakan Terminal.
  2. Bagi pengguna cPanel, gunakan GIt™ Version Control.
  3. Bagi yang tidak memakai VPS dan cPanel, bisa melakukan secara manual.

A. Untuk anda pengguna VPS atau server fisik yang bisa masuk ke server léwat Command Line (CLI / Terminal) bersistem operasi Linux:

  1. Masuk ke CLI.
  2. Bila di server web belum terpasang GIT, ketik perintah berikut ini:
    • Debian/Ubuntu: apt -y install git
    • Redhat/CentOS: yum -y install git
  3. Masuk ke folder web, misalkan htdocs. Ketik: cd /var/www/domain.sch.id/htdocs
  4. Mengunduh dari git, ketik: git https://github.com/mawann/unduh.git
  5. File-file yang dibutuhkan akan diunduh di folder htdocs/unduh.
  6. Untuk mengupdate (bila saya melakukan révisi), dari dalam folder htdocs/unduh ketik: git pull
  7. Mudah kan?

B. Untuk anda yang memakai shared web hosting dengan Web Hosting Control Panel cPanel

  1. Masuk ke cPanel.
  2. Klik: Git™ Version Control.
  3. Klik: Create.
  4. Ketik seperti ini:
    • Clone URL: https://github.com/mawann/unduh.git
    • Repository path: public_html/unduh
    • Repository name: unduh.git
    • Klik: Create
  5. File-file yang dibutuhkan akan diunduh di folder /home/username/public_html/unduh.
  6. Untuk mengupdate (bila saya melakukan revisi), dari Git™ Version Control klik Manage kemudian klik Update.
  7. Mudah kan?

C. Sedangkan cara manualnya (berlaku hampir di semua sistem) adalah:

  1. Dengan memakai web browser, unduh file-file di https://github.com/mawann/unduh
  2. Masuk ke cPanel.
  3. Pilih File Manager.
  4. Pilih folder public_html.
  5. Buat folder bernama unduh. Hasilnya adalah public_html/unduh.
  6. Unggah file-file yang didapat dari langah 1 ke folder unduh.
  7. Tapi cara manual ini ada kelemahan, yaitu bila suatu saat saya melakukan revisi, anda tidak bisa mendapatkan update terbaru dengan satu perintah atau satu kali klik.

Catatan:
Bila folder /unduh tidak bisa diakses (muncul pesan error: Access Denied) pastikan permissionnya adalah:
Folder = 755
File = 644

Cara kerja.

Username (nama pengguna) dan Password (kata sandi) yang diketik oleh user, divalidasi dulu dengan fungsi ctype_digit untuk memastikan bahwa semua yang diketik hanya angka. Tidak ada karakter berbahaya misalkan ‘/’. Setelah username dan password dipastikan aman, digabung menjadi nama file dengan format: username-password.pdf
Nama file ini lalu dicari di folder yang sama dengan file index.php.
Bila ditemukan, file PDF ditampilkan di web browser.
Bila tidak ditemukan, munculkan pesan error:

Semoga bermanfaat.

Penyanggahan:
Dengan menggunakan script ini, anda menyetujui segala konsekuensi yang akan terjadi, dan tidak akan menuntut pembuat script PHP ini bila terjadi kerusakan atau kerugian yang diakibatkan secara langsung ataupun tidak langsung karena script PHP ini. Dengan kata lain: Bila server anda kena hack, anda dipecat, atau bahkan terjadi perang Dunia ke tiga, saya tidak bertanggung jawab.
Exit mobile version