Request Variable
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:
$_REQUESTpraktis 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)
- GET β data di URL, tidak aman, untuk membaca data.
- POST β data tersembunyi, lebih aman, untuk menulis/mengubah data.
$_GETdan$_POSTadalah array asosiatif di PHP.htmlspecialchars()mencegah serangan XSS (Cross Site Scripting).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