Request Variable

πŸ“… Kamis, 09 April 2026 ⏱ 3 menit baca

Berikut adalah materi dasar PHP Request (Metode GET & POST) yang dirancang untuk siswa sekolah menengah (SMK/SMA) dengan analogi sederhana.


πŸ“ Materi Dasar PHP: Mengolah Request (GET & POST)

1. Apa itu Request?

Request adalah permintaan data yang dikirimkan dari Browser (Client) ke Server (PHP).

Analogi: Kamu di restoran (Browser) memesan mie ayam kepada pelayan (Internet). Pelayan menyampaikan pesanan ke dapur (Server). Nah, "pesanan" itulah yang disebut Request.

2. Kenapa PHP Butuh Request?

Agar website bisa dinamis (berubah-ubah sesuai input user). Contoh:

  • Saat login, kita kirim username & password.
  • Saat mencari barang di Tokopedia, kita kirim kata kunci "sepatu".

3. Dua Metode Request: GET vs POST

Fitur GET POST
Data terlihat di URL? Ya (contoh: ?nama=Andi) Tidak (tersembunyi)
Batasan data Kecil (max ~2048 karakter) Besar (bisa upload file)
Keamanan Rendah (jangan untuk password) Lebih aman
Digunakan untuk Mencari, filter, bookmark Login, daftar, transaksi

πŸ”Ή Contoh GET di URL:

http://localhost/profil.php?nama=Budi&umur=17

πŸ”Ή Contoh POST (tidak kelihatan di URL):

Browser mengirim data "di dalam badan" permintaan.


4. Cara Menangkap Request di PHP

PHP menyediakan variabel global:

  • $_GET["nama_field"] β†’ untuk menangkap data dari method GET
  • $_POST["nama_field"] β†’ untuk menangkap data dari method POST

⚠️ Peringatan: Jangan pernah percaya data dari user! Gunakan htmlspecialchars() atau filter untuk keamanan.


5. Contoh Praktik (Kode Dasar)

A. Contoh Method GET (untuk Pencarian/FIlter)

File: cari.php

<!DOCTYPE html>
<html>
<body>

<h2>Form Pencarian (GET)</h2>
<form method="GET" action="">
    <input type="text" name="keyword" placeholder="Cari sesuatu...">
    <button type="submit">Cari</button>
</form>

<?php
if(isset($_GET["keyword"])) {
    $keyword = htmlspecialchars($_GET["keyword"]);
    echo "<p>Anda mencari: <strong>$keyword</strong></p>";
} else {
    echo "<p>Belum ada pencarian.</p>";
}
?>

</body>
</html>

B. Contoh Method POST (untuk Login/Form Penting)

File: login.php

<!DOCTYPE html>
<html>
<body>

<h2>Form Login (POST)</h2>
<form method="POST" action="">
    Username: <input type="text" name="user"><br>
    Password: <input type="password" name="pass"><br>
    <button type="submit">Login</button>
</form>

<?php
if($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = htmlspecialchars($_POST["user"]);
    // Password tidak usah ditampilkan di contoh ini
    
    echo "<p>Halo, $username! Login berhasil (simulasi).</p>";
}
?>

</body>
</html>

C. Menggabungkan GET dan POST dalam Satu File

<?php
$nama = $_GET['nama'] ?? 'Tamu';
$pesan = $_POST['pesan'] ?? '';

if(!empty($pesan)) {
    echo "<p>Pesan dari $nama: $pesan</p>";
}
?>

<form method="POST">
    <input type="text" name="pesan" placeholder="Tulis pesan">
    <button>Kirim</button>
</form>

6. Trik Penting: $_REQUEST

PHP punya variabel $_REQUEST yang bisa menangkap GET dan POST sekaligus.

$data = $_REQUEST["nama"] ?? "";

πŸ“Œ Catatan: $_REQUEST praktis untuk pemula, tapi hati-hati karena bisa membingungkan (jika GET dan POST punya nama field sama, POST yang menang).


7. Latihan Sederhana untuk Siswa

Soal: Buat file nilai.php yang menerima parameter GET ?mapel=matematika&skor=85. Tampilkan:

  • "Mata Pelajaran: matematika"
  • "Skor: 85"

Jawaban:

<?php
$mapel = $_GET['mapel'] ?? 'Tidak ada';
$skor = $_GET['skor'] ?? '0';

echo "Mata Pelajaran: " . htmlspecialchars($mapel) . "<br>";
echo "Skor: " . htmlspecialchars($skor);
?>

8. Kesalahan Umum & Solusi

Kesalahan Solusi
Lupa mengecek isset() Gunakan if(isset($_GET['nama'])) atau operator ?? (null coalescing)
Tidak membersihkan output Selalu gunakan htmlspecialchars(...)
Menggunakan GET untuk password Ganti method jadi POST
Form tidak mengirim data Pastikan tag <input> punya atribut name="..."

9. Ringkasan Hafalan (Untuk Ulangan)

  1. GET β†’ data di URL, tidak aman, untuk membaca data.
  2. POST β†’ data tersembunyi, lebih aman, untuk menulis/mengubah data.
  3. $_GET dan $_POST adalah array asosiatif di PHP.
  4. htmlspecialchars() mencegah serangan XSS (Cross Site Scripting).
  5. isset() atau ?? untuk cek apakah data ada.

Tugas

buat code di https://webeditor.lembaharafah.sch.id/ seperti di bawah ini

<?php
$mapel = $_GET['mapel'] ?? 'Tidak ada';
$skor = $_GET['skor'] ?? '0';

echo "Mata Pelajaran: " . htmlspecialchars($mapel) . "<br>";
echo "Skor: " . htmlspecialchars($skor);
?>

dan di save as dengan nama file request1.php login sesuai user login

user = reza password = lembaharafah@2026
user = anggan password = lembaharafah@2026
user = mukhtar password = lembaharafah@2026
user = agung password = lembaharafah@2026
user = romy password. = lembaharafah@2026