Berikut adalah materi dasar PHP Request (Metode GET & POST) yang dirancang untuk siswa sekolah menengah (SMK/SMA) dengan analogi sederhana.
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.
Agar website bisa dinamis (berubah-ubah sesuai input user). Contoh:
| 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 |
http://localhost/profil.php?nama=Budi&umur=17
Browser mengirim data "di dalam badan" permintaan.
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.
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>
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>
<?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>
$_REQUESTPHP 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).
Soal:
Buat file nilai.php yang menerima parameter GET ?mapel=matematika&skor=85. Tampilkan:
Jawaban:
<?php
$mapel = $_GET['mapel'] ?? 'Tidak ada';
$skor = $_GET['skor'] ?? '0';
echo "Mata Pelajaran: " . htmlspecialchars($mapel) . "<br>";
echo "Skor: " . htmlspecialchars($skor);
?>
| 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="..." |
$_GET dan $_POST adalah array asosiatif di PHP.htmlspecialchars() mencegah serangan XSS (Cross Site Scripting).isset() atau ?? untuk cek apakah data ada.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