بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

Kumpulan Materi Management Informatika untuk SMA Islam Lembah Arafah

dan Kumpulan Hasil karya Siswa Lembah Arafah


Kategori php    
  • 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: $_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