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 stringfilter_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)); // stringMembersihkan vs Memvalidasi
Dua mode filter_var:
FILTER_VALIDATE_*— mengembalikan nilai jika valid, false jika tidakFILTER_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
- GET vs POST: Kapan Menggunakan Masing-Masing
- Membaca Data Formulir dengan Superglobal
- Teknik Validasi Input
- Membersihkan Input Pengguna