0Pricing
PHP Academy · Pelajaran

Membaca Data Formulir dengan Superglobal

Akses bidang formulir melalui array _GET dan _POST.

Membaca Data Formulir dengan Superglobal adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Superglobal PHP

Superglobal adalah larik PHP bawaan yang tersedia dalam semua lingkup — Anda tidak perlu menggunakan global untuk mengaksesnya di dalam fungsi.

Superglobal yang berkaitan dengan formulir: $_GET, $_POST, $_FILES, $_REQUEST

Mengakses Isian POST

Baca nilai formulir POST menggunakan akses kunci larik dengan nilai cadangan bawaan:

<?php
// Safe access with null coalescing
$username = $_POST['username'] ?? '';
$email    = $_POST['email']    ?? '';
$age      = (int) ($_POST['age'] ?? 0);

var_dump($username, $email, $age);

Mengakses Parameter GET

Baca parameter string kueri URL dari $_GET:

<?php
// URL: /products.php?category=electronics&page=2&sort=price

$category = $_GET['category'] ?? 'all';
$page     = max(1, (int) ($_GET['page'] ?? 1));
$sort     = in_array($_GET['sort'] ?? '', ['price', 'name', 'date'])
            ? $_GET['sort']
            : 'name';

echo "Category: $category, Page: $page, Sort: $sort";

Menangani Kotak Centang

Kotak centang yang tidak dicentang tidak dikirimkan sebagai NOT — selalu periksa dengan isset atau ??:

<?php
// HTML: <input type="checkbox" name="newsletter">

$wantsNewsletter = isset($_POST['newsletter']);
// or:
$wantsNewsletter = ($_POST['newsletter'] ?? null) !== null;

echo $wantsNewsletter ? 'Subscribed' : 'Not subscribed';

Larik Pilihan Ganda dan Kotak Centang

Gunakan atribut nama bergaya larik untuk mengumpulkan beberapa nilai:

<!-- HTML -->
<!-- <input type="checkbox" name="tags[]" value="php"> -->
<!-- <input type="checkbox" name="tags[]" value="mysql"> -->

<?php
$tags = $_POST['tags'] ?? [];

if (!is_array($tags)) $tags = [];

foreach ($tags as $tag) {
    echo htmlspecialchars($tag) . PHP_EOL;
}

Informasi Server

$_SERVER menyediakan data lingkungan server dan permintaan:

<?php
echo $_SERVER['REQUEST_METHOD'];   // GET or POST
echo $_SERVER['REQUEST_URI'];       // /page.php?foo=bar
echo $_SERVER['HTTP_HOST'];         // example.com
echo $_SERVER['REMOTE_ADDR'];       // client IP
echo $_SERVER['HTTP_USER_AGENT'];   // browser string

filter_input()

filter_input() membaca dan membersihkan nilai superglobal dalam satu langkah:

<?php
// Retrieve and validate an integer from POST
$age = filter_input(INPUT_POST, 'age', FILTER_VALIDATE_INT);
if ($age === false) {
    echo 'Invalid age';
}

// Retrieve and sanitize a string from GET
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_SPECIAL_CHARS);
echo $name;

filter_var() untuk Validasi

Validasi dan bersihkan nilai yang sudah berada dalam variabel:

<?php
$email = 'user@example.com';
$ip    = '192.168.1.1';
$url   = 'https://example.com';

var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));  // string
var_dump(filter_var($ip,    FILTER_VALIDATE_IP));     // string
var_dump(filter_var($url,   FILTER_VALIDATE_URL));    // string

Membersihkan vs Memvalidasi

Dua mode filter_var:

  • FILTER_VALIDATE_* — mengembalikan nilai jika valid, false jika tidak
  • FILTER_SANITIZE_* — menghapus atau menyandikan karakter berbahaya dan mengembalikan nilai yang bersih

Menangani Berkas Unggahan

$_FILES berisi metadata berkas yang diunggah — setiap berkas memiliki lima kunci:

<?php
if (isset($_FILES['avatar'])) {
    $file = $_FILES['avatar'];
    
    echo $file['name'];     // original filename: photo.jpg
    echo $file['type'];     // MIME type: image/jpeg
    echo $file['size'];     // bytes: 45231
    echo $file['tmp_name']; // temp path on server
    echo $file['error'];    // 0 = no error
}

Pola Pemrosesan Seluruh Formulir

Pola yang rapi untuk menangani pengiriman formulir dengan validasi:

<?php
$errors = [];
$name   = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = trim($_POST['name'] ?? '');
    if (empty($name)) {
        $errors[] = 'Name is required';
    }
    if (empty($errors)) {
        // process...
        header('Location: /thanks.php');
        exit;
    }
}

Pemeriksaan Singkat

Apa yang dikirimkan kotak centang yang tidak dicentang ke server PHP?

Ringkasan: Superglobal

Superglobal penting untuk formulir:

  • $_GET — parameter URL
  • $_POST — isi permintaan
  • $_FILES — informasi berkas yang diunggah
  • $_SERVER — lingkungan server atau permintaan
  • Gunakan ?? untuk akses nilai bawaan yang aman
  • Gunakan filter_input() untuk pengambilan dan validasi sekaligus

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membaca Data Formulir dengan Superglobal” gratis?

Ya — teks lengkap “Membaca Data Formulir dengan Superglobal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membaca Data Formulir dengan Superglobal”?

Akses bidang formulir melalui array _GET dan _POST. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Membaca Data Formulir dengan Superglobal” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. GET vs POST: Kapan Menggunakan Masing-Masing
  2. Membaca Data Formulir dengan Superglobal
  3. Teknik Validasi Input
  4. Membersihkan Input Pengguna
← Kembali ke PHP Academy